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.

GLSDK Datasheet DRA7xx 6.03.00.01

From Texas Instruments Wiki
Jump to: navigation, search

Contents

Read This First [edit]

All performance numbers provided in this document are gathered using DRA7xx Evaluation Module with ARM-15 running at 1000MHz and DDR2 configured at 533MHz unless otherwise specified.

About This Manual [edit]

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

Note: All the performance numbers are taken with DVFS/CPUFreq enabled with "ondemand" governor. Ondemand governor changes the CPU frequency based on system load between 1000MHz and 1500MHz.

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 Yes(UART3)
NOR Flash No
EMAC Boot No
USB Boot No


Note: These are supported boot modes in GLSDK 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)
UART Yes
Ethernet Download (TFTP) Yes
MMC/SD Yes
QSPI Flash Yes
Secure Boot (for High-Secure samples) Yes


Memory Section Details[edit]

MMC/SD bootmode 1st Stage Memory Section on DRA7xx
Memory Section Size( in bytes)
.text 39788
.data 1920
.bss 197828
  • MMC/SD bootmode u-boot 1st Stage (MLO) size: 55288 bytes


MMC/SD bootmode 2nd Stage Memory Section on DRA7xx
Memory Section Size( in bytes)
.text 169020
.data 8252
.bss 212488
  • MMC/SD bootmode u-boot 2nd Stage (u-boot.img) size: 252168 bytes


Linux Kernel [edit]

Kernel Virtual Memory Layout
[edit]

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


[    0.000000] Memory: 1519MB = 1519MB total
[    0.000000] Memory: 1304936k/1304936k available, 251544k reserved, 777216K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc08d1ef8   (9000 kB)
[    0.000000]       .init : 0xc08d2000 - 0xc0930500   ( 378 kB)
[    0.000000]       .data : 0xc0932000 - 0xc0a03210   ( 837 kB)
[    0.000000]        .bss : 0xc0a03210 - 0xc0f664b0   (5517 kB)


Interrupt Latency Measurement [edit]

The following table gives interrupt latency measurements taken across 1001 measurement samples.

Interrupt Latency Measurement
Interrupt Latency (in micro seconds) Number of samples (under 0% cpu load) (1001 total samples) Number of samples (under 100% cpu load using hackbench hackbench -P -l -1 -g 10) (501 total samples)
TBD TBD TBD


Boot-time Measurement [edit]

Boot-time measurement was done with kernel built using omap2plus_defconfig. U-Boot environment variable bootargs is set to 'elevator=noop console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootwait earlyprintk fixrtc omapdrm.num_crtc=2 consoleblank=0'. U-Boot bootdelay variable is set to 3. Time from reset to "Login:" prompt was measured to be 22.81 s.

Complete boot log with timestamps follows:

[0.000001 0.000001]
[0.000233 0.000232] U-Boot SPL 2013.04-00021-g6155226 (Dec 19 2013 - 22:30:18)
[0.004873 0.004873] DRA752 ES1.0
[0.112587 0.107714] OMAP SD/MMC: 0
[0.210614 0.098027] reading u-boot.img
[0.213599 0.002985] reading u-boot.img
[0.243569 0.029970]
[0.243605 0.000036]
[0.243618 0.000013] U-Boot 2013.04-00021-g6155226 (Dec 19 2013 - 22:30:18)
[0.248639 0.005021]
[0.248666 0.000027] CPU  : DRA752 ES1.0
[0.250632 0.001966] Board: DRA7xx
[0.251665 0.001033] I2C:   ready
[0.304563 0.052898] DRAM:  1.5 GiB
[0.322430 0.017867] WARNING: Caches not enabled
[0.402441 0.080011] MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
[0.406483 0.004042] Using default environment
[0.408536 0.002053]
[0.562323 0.153787] In:    serial
[0.563412 0.001089] Out:   serial
[0.564448 0.001036] Err:   serial
[0.566381 0.001933] Net:   <ethaddr> not set. Validating first E-fuse MAC
[0.590324 0.023943] cpsw
[0.591463 0.001139] Hit any key to stop autoboot:  0
[3.702130 3.110667] mmc0 is current device
[3.802098 0.099968] SD/MMC found on device 0
[3.806094 0.003996] reading boot.scr
[3.809049 0.002955] 352 bytes read in 3 ms (114.3 KiB/s)
[3.814094 0.005045] Running bootscript from mmc0 ...
[3.817147 0.003053] ## Executing script at 82000000
[3.820175 0.003028]
[3.820211 0.000036] Partition Map for MMC device 0  --   Partition Type: DOS
[3.826109 0.005898]
[3.826151 0.000042] Part	Start Sector	Num Sectors	UUID		Type
[3.830025 0.003874]   1	2048      	126976    	1e29c431-01	0c Boot
[3.834171 0.004146]   2	129024    	3733504   	1e29c431-02	83
[3.839051 0.004880] reading dra7-evm.dtb
[3.847098 0.008047] 31910 bytes read in 8 ms (3.8 MiB/s)
[3.851095 0.003997] reading uImage
[4.267814 0.416719] 4972992 bytes read in 416 ms (11.4 MiB/s)
[4.272798 0.004984] ## Booting kernel from Legacy Image at 80300000 ...
[4.277905 0.005107]    Image Name:   Linux-3.8.13-g89927f5
[4.281007 0.003102]    Image Type:   ARM Linux Kernel Image (uncompressed)
[4.286032 0.005025]    Data Size:    4972928 Bytes = 4.7 MiB
[4.289923 0.003891]    Load Address: 80008000
[4.291993 0.002070]    Entry Point:  80008000
[4.294865 0.002872]    Verifying Checksum ... OK
[5.127590 0.832725] ## Flattened Device Tree blob at 825f0000
[5.131511 0.003921]    Booting using the fdt blob at 0x825f0000
[5.135460 0.003949]    Loading Kernel Image ... OK
[6.481055 1.345595] OK
[6.481132 0.000077]    reserving fdt memory region: addr=8e000000 size=1000000
[6.486105 0.004973]    reserving fdt memory region: addr=a0000000 size=1800000
[6.491923 0.005818]    Loading Device Tree to 83ff5000, end 83fffca5 ... OK
[6.536860 0.044937]
[6.537796 0.000936] Starting kernel ...
[6.539010 0.001214]
[8.091200 1.552190] [    0.000000] Booting Linux on physical CPU 0x0
[8.096296 0.005096] [    0.000000] Linux version 3.8.13-g89927f5 (tiiappadmin@swubn01) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2013.03-20130313 - Linaro GCC 2013.03) ) #1 SMP PREEMPT Thu Dec 19 22:38:20 IST 2013
[8.117174 0.020878] [    0.000000] CPU: ARMv7 Processor [412fc0f2] revision 2 (ARMv7), cr=10c53c7d
[8.124163 0.006989] [    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[8.131223 0.007060] [    0.000000] Machine: Jacinto6 evm board, model: TI DRA7
........

[18.938432 0.399723] [   11.587860] libphy: 48485000.mdio:02 - Link is Up - 100/Full
[19.330334 0.391902] [   11.979339] (stk) :ldisc installation timeout
[19.334443 0.004109] [   11.983764] (stk) :ldisc_install = 0Sending discover...
[20.336791 1.002348] (stk) : timed out waiting for ldisc to be un-installed
[20.449816 0.113025] [   13.099304] (stk) :ldisc_install = 1Sending select for 172.24.147.126...
[21.250459 0.800643] Lease of 172.24.147.126 obtained, lease time 28800
[21.303404 0.052945] /etc/udhcpc.d/50default: Adding DNS 192.0.2.2
[21.307504 0.004100] /etc/udhcpc.d/50default: Adding DNS 192.0.2.3
[21.342414 0.034910] done.
[21.396392 0.053978] hwclock: can't open '/dev/misc/rtc': No such file or directory
[21.412407 0.016015] Thu Dec 19 18:10:00 UTC 2013
[21.428400 0.015993] hwclock: can't open '/dev/misc/rtc': No such file or directory
[21.435404 0.007004] INIT: Entering runlevel: 5
[21.445383 0.009979] (stk) :ldisc installation timeout
[21.449413 0.004030] [   14.099578] (stk) :ldisc_install = 0Starting system message bus: dbus.
[21.584303 0.134890] Starting telnet daemon.
[21.613272 0.028969] hwclock: can't open '/dev/misc/rtc': No such file or directory
[21.627295 0.014023] Starting syslogd/klogd: done
[21.679269 0.051974] Starting thttpd.
[21.740300 0.061031] Stopping Bootlog daemon: bootlogd.
[22.445061 0.704761] (stk) : timed out waiting for ldisc to be un-installed
[22.452092 0.007031] [   15.103485] Bluetooth: st_register failed -22
[22.768849 0.316757]
[22.769798 0.000949]  _____                    _____           _         _
[22.774980 0.005182] |  _  |___ ___ ___ ___   |  _  |___ ___  |_|___ ___| |_
[22.779962 0.004982] |     |  _| .'| . | . |  |   __|  _| . | | | -_|  _|  _|
[22.784994 0.005032] |__|__|_| |__,|_  |___|  |__|  |_| |___|_| |___|___|_|
[22.790773 0.005779]               |___|                    |___|
[22.795834 0.005061]
[22.795874 0.000040] Arago Project http://arago-project.org dra7xx-evm ttyO0
[22.800803 0.004929]
[22.800826 0.000023] Arago 2013.10 dra7xx-evm ttyO0
[22.803846 0.003020]
[22.812822 0.008976] dra7xx-evm login:

Linux Kernel Drivers [edit]

This section provides brief overview of the device drivers supported in the Linux Kernel of the GLSDK 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
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 Not Supported
eMMC/SD/MMC Interface to MultiMedia Secure Digital cards Block SDMA
UART Serial Communication Interface Character Not 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
CPU Freq Supports multiple SoC operating levels (OPPs) NA 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.1 KHz and multiples of 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


Audio playback
Sampling Rate (in Hz) CPU Load (in %)
11025 0.25
22050 0.56
44100 1.07
88200 2.26


Audio Capture
Sampling Rate (in Hz) CPU Load (in %)
11025 0.25
22050 0.50
44100 1.07
88200 2.13


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. CPSW Interrupt Pacing. This driver uses Timer 5 & 6 for CPSW Interrupt Pacing. Re-using this timer for any other purpose will result in CPSW Interrupt Pacing not working correctly.
  7. Operation of both external ports as independent network interfaces
  8. VLAN and ALE configuration support
  9. Promiscuous mode of operation.
  10. IEEE 1588
* Enable CONFIG_ETHERNET through menuconfig (Menu Config->Device Drivers->Network device support & Menu config-> Networking support)


Features Not Supported [edit]

N/A

Supported System Calls [edit]

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

Performance and Benchmarks [edit]

TCP Performance [edit]

Ethernet Port0 TCP - 1000Mbps Mode Performance
TCP Window Size
(in KBytes)
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 72.16 23.85 57.92 7.12
16 109.52 36.56 83.84 10.02
32 135.04 38.71 117.84 13.66
64 155.20 42.84 140.96 17.02
128 160.24 35.94 78.72 44.97
256 172.00 52.05 170.40 13.96



Note: The above data are obtained on DRA7xx EVM running @ 1000MHz.


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> -m -f M -d -t 60
  • Interrupt pacing feature enabled with pacing interval set to 500usecs.
ethtool -C eth0 rx-usecs 500
  • DUT is connected to a gigabit network.


UDP Performance [edit]

Ethernet Port0 UDP - Transmit Performance (MTU Size packets)
Maximum Bandwidth limit (MBits/sec) Bandwidth observed (MBits/sec) Jitter (milliseconds)
500 85.60 0.45
750 85.60 0.45
1000 85.60 0.46



Note: The above data are obtained on DRA7xx EVM running @ 1000MHz.


Ethernet Port0 UDP - Receive Performance (MTU Size packets)
Maximum Bandwidth limit (MBits/sec) Bandwidth observed (MBits/sec) Jitter (milliseconds) Packet loss (percentage)
250 86.40 0.14 0.01
500 86.40 0.46 0.00
750 86.40 0.46 0.01



Note: The above data are obtained on DRA7xx EVM running @ 1000MHz.


  • iperf version 2.0.5
  • For receive performance, on DUT, invoke iperf in server mode.
iperf -s -u
  • For transmit performance, on DUT, invoke iperf in client mode.
iperf -c <server ip> -b <bandwidth limit> -f M -t 60


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]
drivers/gpu/drm/omapdrm/
drivers/video/omap2/dss/

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.

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 that follow the MMC specification v4.0. The MMC driver is implemented as a block driver. Block device nodes(such as /dev/mmcblockp1, /dev/mmcblockp2) are created for user space access.

Mmcsd Driver.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. Card detect and Write protection features

Constraints [edit]

  1. MMC/SD cards should not be removed when the mount operation is in progress. 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.

EXT2 file system [edit]

SD - Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 7.46 4.23
262144 10.06 5.77
1048576 9.09 4.99
5242880 9.95 4.91


SD - Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 19.90 5.17
262144 20.88 5.05
1048576 20.83 6.58
5242880 20.84 6.50


The performance numbers were captured using the following:

  • SD Card Sandisk Ultra 8G Class 10 SDHC card
  • File System: ext2
  • Partition was mounted with async option

VFAT file system [edit]

SD - Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 11.12 10.82
262144 10.59 10.07
1048576 10.84 10.63
5242880 10.84 10.73


SD - Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 20.53 6.34
262144 20.15 6.40
1048576 20.47 6.80
5242880 20.46 6.71



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.

EXT4 file system [edit]

EMMC - Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 10.95 7.00
262144 10.51 6.65
1048576 10.93 7.37
5242880 10.48 6.78


EMMC - Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 35.02 10.36
262144 34.94 9.90
1048576 34.94 10.67
5242880 34.85 10.36


The performance numbers were captured using the following:

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

VFAT file system [edit]

EMMC - Write Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 9.79 8.42
262144 10.21 10.23
1048576 10.19 9.80
5242880 10.18 9.94


EMMC - Read Performance values
Buffer Size (in Bytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
102400 31.30 9.50
262144 31.44 9.80
1048576 31.21 9.80
5242880 31.16 9.09


The performance numbers were captured using the following:

  • File System: vfat
  • 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)

Omapuart.png


Features Not Supported [edit]

  • Hardware Flow Control

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]

  • Capture via all the Slice0-PortA instances of the VIP1,2 and 3.
  • V4L2 Singleplanar ioctls supported.

Features Not Supported [edit]

Following features are not supported at this point of time.

  • Color Space Conversion
  • Scaling.
  • Simultaneous capture via all the VIP ports not supported.
  • No other colorspace formats except YUYV are supported.
  • Embedded Sync
  • Only Slice0 instances of the VIP ports are supported at this point.

Constraints [edit]

  • Wouldn't work with HDMI driver enabled. Refer release note for more detail.

Supported System Calls [edit]

Standard V4L2 Capture ioctls

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.

Menuconfig Option[edit]
Enable CONFIG_VIDEO_TI_VPE through (Menuconfig->Device Drivers->Multimedia support->Memory-to-memory multimedia devices)
Source Location[edit]
drivers/media/platform/ti-vps/

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
  • Scaler 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 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 152Mhz due to HW constraints.

Supported System Calls [edit]

Standard v4l2 ioctls



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]

  • Seagate Barracuda 250GB (3Gbps)SATA HDD is used to measure the performance data


SATA - ext2 File System Performance [edit]

SATA Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
DRA7xx
MB/sec cpu load (%)
100 1000 91.99 24.20
256 1000 91.13 24.13
512 1000 92.34 23.20
1024 1000 92.80 24.03
5120 1000 91.80 23.86


SATA Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
DRA7xx
MB/sec cpu load (%)
100 1000 121.98 12.74
256 1000 122.47 12.61
512 1000 123.07 13.07
1024 1000 122.65 13.07
5120 1000 122.59 13.72


SATA - VFAT File System Performance [edit]

SATA Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
DRA7xx
MB/sec cpu load (%)
100 1000 65.20 31.55
256 1000 65.93 31.76
512 1000 65.47 31.50
1024 1000 64.94 31.19
5120 100 66.25 31.93


SATA Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
DRA7xx
MB/sec cpu load (%)
100 1000 119.79 12.98
256 1000 122.47 13.32
512 1000 121.99 13.17
1024 1000 121.30 13.63
5120 1000 122.23 14.23


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)
  • DRD (Dual Role Device) support

USB Configuration [edit]

For USB configuration selection please refer to USB General Guide Linux

Driver Features [edit]

The driver supports the following features


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 HDD (500GB) connected to usb1 or usb2 port.

USB - ext2 File System Performance [edit]

USB Host File write (Ext2) Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
USB1(HS) USB1(SS)
MB/sec cpu load (%) MB/sec cpu load (%)
100 100 34.52 11.45 67.32 21.69
256 100 35.49 11.87 67.98 21.58
512 100 35.46 11.98 68.84 22.34
1024 100 35.25 12.54 66.61 22.85
5120 100 35.48 11.52 63.56 20.13


USB Host Read (Ext2) Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
USB1(HS) USB1(SS)
MB/sec cpu load (%) MB/sec cpu load (%)
100 100 39.27 8.06 100.34 21.03
256 100 39.15 7.16 96.90 19.10
512 100 39.28 8.40 104.92 18.99
1024 100 39.31 8.02 106.55 18.02
5120 100 39.23 8.06 94.73 15.46


USB - VFAT File System Performance [edit]

USB Host File write (VFAT) Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
USB1(HS) USB1(SS)
MB/sec cpu load (%) MB/sec cpu load (%)
100 100 29.46 14.98 50.23 25.06
256 100 29.97 14.74 52.30 27.59
512 100 29.83 15.42 51.76 26.33
1024 100 29.83 14.68 53.18 26.70
5120 100 29.61 14.06 52.76 26.75


USB Host Read (VFAT) Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)
USB1(HS) USB1(SS)
MB/sec cpu load (%) MB/sec cpu load (%)
100 100 34.65 5.52 93.45 14.72
256 100 35.20 6.09 93.45 17.33
512 100 34.53 6.53 94.38 19.51
1024 100 34.82 6.70 93.46 16.16
5120 100 34.58 6.96 93.45 20.00


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.

cpufreq[edit]

CPU is not loaded evenly during execution. This provides an opportunity to save power by adjusting/scaling voltage and frequency based on the current cpu load.


Modules with active clocks
Name Instances
ADC_TSC NA
CPSW 1
ELM NA
EMIF 1,2
GPIO 1-8
GPMC 1
LCD 1
MCASP 2,3,6&7
MAILBOX 1-16
OCMC 1,2&3
RTC 1
TIMER 1,2,5,6
TPCC 1
TPTC NA
UART 0-5
USB 1,2,3&4



Lock Frequency of various PLLs
IP Frequency (MHz)
MPU As per OPP (1000/1176/1500)
IPU 212.8
DSP 600
IVA 388
SGX 425
L3 266
DDR 532


At each OPP [edit]

This section indicates the power measured for all power rails at various OPPs (selected via cpufreq). Measured the power for DRA7xx platform using FTDI adaptor. The power is measured at three different CPU frequencies (OPP_NOM, OPP_OD & OPP_HIGH). Samples are taken at three different scenerios. The measurements were done using EVM revision E1.


1) At kernel Prompt

Active Power Consumption at various OPPs (CPUFreq P states)
Power Rail OPP_NOM 1000 MHz (milliwatts) OPP_OD 1176 MHz (milliwatts) OPP_HIGH 1500 MHz (milliwatts)
Total Power (Sum of all Rails) 2368.93 2537.31 2774.46
VDD_DSPEVE 214.69 221.85 228.59
VDD_MPU 217.14 325.86 519.75
DDR_CPU 347.86 347.32 346.94
VDDA_1V8_PLL 60.2 60.78 61.76
VDD_GPU 247.64 259.51 270.97
VUSB_3V3 5.41 5.45 5.57
VDDS18V 174.53 189.34 200.59
VDD_SHV 58.88 60.43 60.68
VDD_IVA 19.82 21.12 22.57
DDR_MEM 278.77 293.86 296.95
VDDA_1V8_PHY 152.5 152.62 152.69
VDD_CORE 591.49 599.17 607.4


2) CPU loaded with kmscube

Active Power Consumption at various OPPs (CPUFreq P states)
Power Rail OPP_NOM 1000 MHz (milliwatts) OPP_OD 1176 MHz (milliwatts) OPP_HIGH 1500 MHz (milliwatts)
Total Power (Sum of all Rails) 2585.41 2714.99 2955.01

3) On playing 1080p video @30fps

Active Power Consumption at various OPPs (CPUFreq P states)
Power Rail OPP_NOM 1000 MHz (milliwatts) OPP_OD 1176 MHz (milliwatts) OPP_HIGH 1500 MHz (milliwatts)
Total Power (Sum of all Rails) 2932.13 3048.49 3174.33



Filesystem [edit]

The filesystem is built using the Arago Project build system. More information on the project can be found here [2]


Filesystem information
System initialization System V
Compressed filesystem size 63MB
Uncompressed filesystem size 173MB

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 Decoders[edit]

MJPEG decoder - version 01.00.12.01
H264 decoder - version 02.00.15.01
MPEG4 decoder - version 01.00.14.01
VC1 decoder - version 01.00.00.11
MPEG2 decoder - version 01.00.13.01

Supported Playback Application[edit]

GStreamer version 0.10 with following display sinks:

  • dri2videosink
  • waylandsink
  • kmssink

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

Features Not Supported [edit]

TBD

Constraints [edit]

TBD

Performance Benchmarks [edit]

IVAHD performance on DRA7xx
Stream Resolution IVAHD load FPS Opp Frequency
CIF 52% 293 IVAHD at 388MHz

MPU at 1000MHz
IPU at 212MHz

720p 79% 121
1080p 86% 58
  • Performance is calculated using the proprietary video decoder application (viddec3test)



Memory Section [edit]

  • 168MB of memory from 0x95800000 is reserved for slave cores
IPUMM Memory Section on DRA7xx
Memory Section Size( in bytes)
.text 311534
.data 25698
.bss 326276
.stack 4096
  • IPUMM firmware(dra7-ipu2-fw.xem4) size 4013361 bytes


Graphics [edit]

The 3D graphics processing unit (GPU) accelerates 2-dimensional (2D) and 3-dimensional (3D) graphics and compute applications. It is based on the POWERVR® SGX544-MP2 core from Imagination Technologies. The SGX544-MP2 core is a multicore (dual-core) evolution of the POWERVR SGX544 GPU.

The following specifications are supported on the platform:

  • OpenGL ES 1.0
  • OpenGL ES 1.1
  • OpenGL ES 2.0

The following specifications are not supported on the platform:

  • OpenVG
  • OpenGL ES 3.0


X11 [edit]

Introduction [edit]

X11 is a windowing system for bitmap displays that provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting with a mouse and keyboard. The X server accepts requests from client applications to create windows,which are (normally rectangular) "virtual screens" that the client program can draw into. The X.org Xserver in GLSDK is based on the 1.11.3 version from freedesktop.

Driver Features [edit]

GLSDK includes the xf86-video-omap driver which is the X.org graphics driver for TI OMAP graphics. This driver communicates with the omapdrm kernel driver with GEM (Graphics Execution Management) support for buffer management. Additionally, it includes the PVR EXA driver.

Features Not Supported [edit]

  • The X server in GLSDK 6.03 does not support window management. This implies that there cannot be a window movement, via graphical controls such as buttons and draggable, titlebars and borders.
  • X server does not support dual display with LCD and HDMI on DRA7xx

Supported Clients [edit]

The supported X applications and commands to run them can be referenced from DRA7xx_GLSDK_Software_Developers_Guide#X Server

Performance Benchmarks [edit]

Performance benchmarks have not been run for this release.

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.

The GLSDK 6.03.00.01 release supports Wayland/Weston version 1.06.

Wayland API documentation [edit]

The documentation from the Wayland project can be accessed here [[3]] X server does not support dual display with LCD and HDMI on DRA7xx.

Default supported clients [edit]

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

Performance Benchmarks [edit]

Performance benchmarks have not been run for this release.

Features Not Supported [edit]

  • The current version of Wayland does not support Desktop extensions.
  • Rendering to more than one display is not possible.

GC320 [edit]

Introduction [edit]

GC320 graphics processing unit (GPU) IP defines a high-performance 2D raster graphics core that accelerates the 2D graphics display on a variety of consumer devices. Addressable screen sizes range from the smallest cell phones to HD 1080p displays. GC320 has two 64 bit AXI bus interfaces to interact to the HOST processor or the MPU. GC320 Hardware is enabled using Native Linux driver. The userspace comprises of bltsville interface as defined here.

Driver Features [edit]

  • Blit – Composition of multiple sources to a destination image namely, alpha Blend, overlay, overlap, clip
  • Filter – High quality scaling (up/down) 3, 5, 7, 9 tap filters
  • Multi-image format support and color conversion (YUV and RGB space)
  • Multi source blending: Supports up to 8-source blending

Features Not Supported [edit]

  • 8-bit color index (palette)

Constraints [edit]

  • Supports only single planar buffer (all the components of the color should be in a single buffer Eg. RGB, YUV)
  • Does not support dma_buf yet

Supported Interfaces [edit]

  • Kernel Driver:
    • open() - Opens the device
    • close()- Closes the device
    • ioctl() - Accepts commends from userspace
  • Bltsville Userspace:
    • bv_map() : Supplies a buffer to compositor
    • bv_blt(): Performs the operation
    • bv_unmap(): Relinquishes the buffer
    • bv_cache(): Performs the cache operation if required

Performance Benchmarks [edit]

Performance numbers DRA7xx
Test Case DRA7xx (MPix/s)
RGBA24 to RGBA24 625.62
RGBx24 to RGB16 845.20
RGBx24 to RGB16 with dithering 846.22
RGBA24 to RGBA24 with non-interpolated scale up 171.83
RGBA24 to RGBA24 with non-interpolated 3/4 scale 108.83
RGBA24 to RGBA24 with non-interpolated half scale 93.58
RGBA24 src1over RGBx24 to RGBx24 with global alpha 417.79
RGBA24 src1over RGBx24 to RGBx24 with local alpha 416.15
RGBA24 src1over RGBA24 to RGBA24 with global alpha 415.68
RGBA24 src1over RGBA24 to RGBA24 with local alpha 418.02
RGBA24 src1over RGBA24 to RGBA24 with non-interpolated scaling 173.76
RGBA24 src1over RGB16 to RGB16 with global alpha 642.70
RGBA24 src1over RGB16 to RGB16 with local alpha 639.05
RGBA24 src1over RGB16 to RGB16 with dither with global alpha 640.51
RGBA24 src1over RGB16 to RGB16 with dither with local alpha 638.84
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale up 182.73
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale down half 116.76
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale down third 95.83
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale up and dither 182.58
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale down 3/4 and dither 116.32
RGBA24 src1over RGB16 to RGB16 with non-interpolated scale down half and dither 95.85
RGB16 to RGB124 790.71
NV12 to RGBA24 523.88
YUYV to RGBA24 TBD
NV12 src1over RGBA24 to RGBA24 with global alpha 71.00


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 GLSDK Datasheet DRA7xx 6.03.00.01 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 GLSDK Datasheet DRA7xx 6.03.00.01 here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article GLSDK Datasheet DRA7xx 6.03.00.01 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