Please note as of Wednesday, August 15th, 2018 this wiki has been set to read only. If you are a TI Employee and require Edit ability please contact x0211426 from the company directory.

DM814x C6A814x AM387x PSP 04.01.00.03 Feature Performance Guide

From Texas Instruments Wiki
Jump to: navigation, search
TIBanner.png
DM814x C6A814x AM387x 04.01.00.03 Feature & Performance Guide
Linux PSP
IMPORTANT

DM816x refers to DM816x/AM389x devices unless specified.
DM814x refers to DM814x/AM387x devices unless specified.
DM81xx refers to both DM816x, DM814x and DM813x.

Important
This datasheet is applicable for 04.01.00.03 release only.


Contents

Document License

This work is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/us/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

Read This First

About This Manual

This document provides an overview and performance data for each of the device drivers which are part of the Linux PSP package supporting DM8148 EVM (Base board). Note that only a subset of the drivers may have actually been fully tested and verified in the package you are using. Please refer to the release notes provided with the package for information on which of the drivers have actually been verified. In the rest of the document, we will refer this setup as DM8148 EVM.

If You Need Assistance

For further information or to report any problems, contact http://community.ti.com/ or http://support.ti.com/

U-Boot

Hardware Related Info

U-Boot currently does the bare minimum configuration needed to boot the kernel. The following table lists various resources enabled by the ROM code + U-Boot running on the host ARM (that is, Cortex A8).

Resource Specifics Notes
OCMC RAM OCMC0 1st stage U-Boot runs out of OCMC0
Control module NA Needs to be enabled prior to enabling other modules.
Clocks/PLL Setup Modena (A8), L3, DDR, SATA, DSP, DSS, IVA, ISS, USB
UART UARTs 0-5 UART0 is available as console on base board.
Timers Timer1 Used for timekeeping purpose
RAM Both the EMIFs Non-interleaved configuration
I2C I2C0
SPI
Module enabled.
EMACSW Ethernet port (with internal switch) Used for DHCP, TFTP load of kernel (and/or) filesystem images.
NAND Whole Base EVM has 256MiB NAND

Linux Kernel

Module/Subsystem Usage

Following table covers various onchip modules/subsystems enabled and used in U-Boot and Kernel. It also lists module status on reset. Note that there may be a few modules which are enabled but not used currently but will be used in future.

The table uses following conventions for enabled status:

  • BOOTCFG - Module is enabled depending upon boot mode
  • YES - Module is enabled always and is critical for functioning (should never be turned off).
  • CONFIG - Module will be enabled depending upon build time or run time configuration (e.g., SATA module is enabled if SATA is enabled in kernel build configuration, UART1 is enabled if 'ttyO1' is passed as console through kernel command line). Note that there may be many modules included in default build configuration and thus they will be enabled by default (e.g., EMACSW), though these can be disabled by disabling respective configuration in build.
  • KEEP - Module already enabled and kept as is. Note that, except for Control Module, eFuse and EMIFs, in most of the other cases, this means that the corresponding module is not currently used and was enabled by the component which executed earlier. This is, module enabled status 'KEEP' in Kernel means it was enabled by U-Boot (or boot time) but kernel doesn't touch it.
  • NO - Module is not used and is not enabled
Module/Subsystem Enabled on Reset? Enabled in U-Boot? Enabled in Linux?
Control Module YES KEEP KEEP
eFuse YES YES KEEP
OCMC0 & 1 BOOTCFG YES KEEP
GPIO0 NO YES KEEP
GPIO1 NO NO NO
EMIF0 & 1 NO YES KEEP
UART0-2 BOOTCFG YES CONFIG
UART3-5 NO NO CONFIG
Timer1 NO YES YES
Timer2 NO NO YES
Timer3 NO NO CONFIG
Timer4 to 8 NO NO NO
GPMC BOOTCFG YES CONFIG
EDMA TPCC NO NO YES
EDMA TPTC NO NO YES
SPI BOOTCFG YES KEEP
I2C0-2 NO YES CONFIG
I2C1-3 NO NO NO
EMACSW BOOTCFG YES CONFIG
USB NO NO CONFIG
SATA NO NO CONFIG
PCIe BOOTCFG NO CONFIG
SGX NO NO NO
IVAHD NO NO NO
Ducati NO NO CONFIG
MMU NO NO NO
MMU DATA NO NO NO
DSP NO NO CONFIG
Spinlock NO NO CONFIG
Mailbox NO NO CONFIG
HDMI NO NO NO
McASP0 NO NO CONFIG
McASP2-5 NO NO NO
McBSP NO NO NO
MMC0 NO NO NO
MMC1 BOOTCFG YES CONFIG
MMC2 NO NO NO

Hardware Resources Reserved for Kernel

Following table lists various resources owned and used exclusively by kernel (that is, Cortex A8). Care must be taken not to share these across other processors. Of course, there can be a kernel module/driver which monitors the sharing - this is particularly applicable for shared buffers in RAM - but the control should still remain with kernel.For modules having multiple instances, numbering is assumed to be from '0'.

Resource Specifics Notes
UART

UART0

This is configurable through kernel command line ('bootargs') and is board dependent. On Base board, UART0 is used as console.
Timers

Timer1, Timer2

Timer1 - System Timer, Timer2 - Free Running
RAM 0x80000000 - 0x88000000 The RAM size allocated for kernel is configurable through boot argument 'mem=' passed to kernel during boot. The start address (0x80000000) is fixed. Also note that it is possible to map RAM region beyond this range into kernel virtual memory space using kernel drivers/modules. Multiple 'mem=' arguments can be passed to have the system RAM spanned across holes in between. Please refer User Guide for details
I2C I2C0 Refer board reference document/schematics for more details.
EMACSW
Has internal Ethernet switch.
NAND Whole Base EVM has 256MiB NAND.
EDMA

4 to 47,

52 to 54

Peripheral Only: 4 to 31, 52 to 54

Mem to Mem: 32 to 47

OCMC0

0x40300000 - 0x4031FFFF

OCMC 0 will be used by ROM Code and U-boot. Once Linux kernel boots, OCMC0 is free and kernel can use it. If OCMC0 should not be used to load u-boot if loaded using CCS.
PCIe Memory

0x20000000 -

0x2FFFFFFF

PCIe Window for outbound access
PCIe I/O

0x40000000 -

0x402FFFFF

PCIe I/O window


Kernel Virtual Memory Layout

The default TI814X kernel configuration, with "mem=128M" passed as boot argument, uses following Virtual Memory laout:

Memory: 128MB = 128MB total
Memory: 124800k/124800k available, 6272k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xc8800000 - 0xf8000000   ( 760 MB)
    lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc0034000   ( 176 kB)
      .text : 0xc0034000 - 0xc0488000   (4432 kB)
      .data : 0xc0488000 - 0xc04c5fe0   ( 248 kB)

Please note following points:

  • Default kernel build is set up with 3G/1G split for User/Kernel space.
  • The vmalloc and lowmem are dependent on RAM available to kernel (as specified by 'mem' boot argument). As you provide more memory for kernel to map, the vmalloc space will be lowered.
  • RAM size more that 768M will be truncated to maintain minimum vmalloc at 120MB
  • It should be possible to allow larger memory into kernel space by changing User/Kernel split to 2/2 or 1/3. Please note that these are NOT TESTED and may lead to unpredictable behavior.
  • Alternatively, "High Memory" support in kernel (CONFIG_HIGHMEM) can be enabled to accommodate larger physical memory. Note again that, this is an EXPERIMENTAL feature and may lead to stability and performance issues.

Boot-time measurement

For boot-time measurement the following setup was used

  • 2-Stage SD boot (binaries picked from the release package)
  • Kernel image of size 2.3MB (image picked from the release package)
  • Sandisk Extreme 3 Class-6 4GB SD card
  • Filesystem on the SD card - 14MB

The kernel image used had the following features enabled

  • NAND driver
  • Block devices
  • SCSI devices
  • SATA drivers
  • Network device support
  • I2C support
  • SPI support
  • GPIO support
  • Sound card support
  • HID devices
  • USB support
  • MMC/SD/SDIO support
  • Loadable module support
  • Filesystem support for ext2, ext3, JFFS2 and NFS

The following was the kernel command line passed

 console=ttyO0,115200n8 root=/dev/mmcblk0p2 mem=128M init=/bin/sh rootwait

The total boot-time (ignoring the boot delays in the 2 stages of U-Boot) is ~11.14 secs

The break-up of the boot-time is as given below:

  • Booting the compressed kernel (calculated from the time U-Boot displays "## Booting..." to the prompt) :5.52 secs
  • Reading the 2.3MB uImage from SD card : 2.97 secs
  • Misc time in U-Boot : 2.8 secs

PSP Linux Drivers

This section provides brief overview of the device drivers supported in the Linux PSP release based on Linux OMAP git tree.

Note: The constraints may vary across product releases. Please refer to the Release Notes accompanying the release for an updated list of constraints.

Boot modes supported

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

Note: These are supported boot modes in PSP 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.


TI814X Linux PSP Supported Boot Modes
Boot Mode DM8148 EVM
NAND Flash Yes
NOR Flash No
SPI EEPROM Yes
SD Yes
EMAC Boot No
UART Boot Yes (UART0)
PCIe Boot No


Device driver list

Device Driver List
Peripheral Description Linux driver type
Audio (McASP) Audio record and playback ALSA SoC
Ethernet Transmit/receive network data. Supports Auto negotiation with 10/100 Mbps link speed Netdev
I2C Inter-IC Communication Character
MUSB Host Supports MSC and HID classes USB HCD
NAND Flash Flash storage system MTD Character and Block
UART Serial Communication Interface Character
SATA Storage Block Device

Driver DMA usage

TI814x peripheral driver DMA usage
Driver DMA usage
Audio (McASP) EDMA
Ethernet Internal DMA
MUSB Host Internal DMA
NAND Flash None
UART None
I2C None
SATA Internal DMA
SPI None

SATA Driver

SATA peripheral is AHCI Ver.1.1 spec compliant peripheral. It supports SATA1 (150MBps) and SATA 2 (300MBps) speeds over one SATA port. Port Multiplier support is available in the SATA controller. The controller can support drives upto UDMA-133 speeds. There is one instance of SATA controller available in DM8148.

Driver Features

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. CD/DVD support
  2. HDD
  3. Port Multiplier


Features Not Supported

  • SATA Power Management

Constraints

Supported System Calls

All Linux system calls related to SATA

Supported IOCTLs

NA

Performance and Benchmarks

SATA - ext2 File System Performance

SATA - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 74.37 40.85
256 100 76.75 43.38
512 100 74.36 43.97
1024 100 70.47 40.27
5120 100 79.92 66.30


SATA - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 114.98 68.13
256 100 106.15 58.59
512 100 114.29 65.22
1024 100 108.40 66.67
5120 100 113.73 66.30


SATA - vfat File System Performance

SATA - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 57.087 64.67
256 100 55.55
64.02
512 100 46.00 51.75
1024 100 54.58 64.50
5120 100 56.53 64.32


SATA - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 106.107 70.41
256 100 106.92 72.45
512 100 106.94 75.51
1024 100 106.93 73.47
5120 100 107..20 78.35



The performance numbers are captured using the following.

  1. SATA HDD - Seagate Baracuda 7200.11 RPM 500GiB drive connected to SATA Port
  2. Run LFTB filesystem performance tests on first partition.


ALSA SoC Audio Driver

This section an overview of the ALSA SoC audio driver features along with the throughput and CPU load numbers. For the architecture, installation, basic usage and sample applications (if any) please refer to the driver user guide.

Driver Features

The driver supports the following features:

  1. Supports AIC3106 audio codec (on DM8148 base EVM)
  2. Supports audio in stereo mode
  3. Supports simultaneous playback and record (full-duplex mode).
  4. Supports mixer interface for the audio codec

Features Not Supported

  1. OSS based applications, which use ALSA-OSS emulation layer, are not supported.
  2. Formats such as TDM, Left and Right Justified are currently not supported.
  3. Synthesizer and midi interfaces are not supported.

Constraints

  1. By default, codec is configured in master mode and McASP is used as slave. Testing of the audio sub-system is done in this configuration only.
  2. Sampling frequencies for playback and capture streams should be same.
  3. The audio driver does not allow opening the same stream (playback/capture) multiple times.

Supported System Calls

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

Supported IOCTLs

NA

Performance and Benchmarks

NA

Ethernet Driver

This section provides an overview of the Ethernet driver features along with throughput and CPU load numbers. For the architecture, installation, basic usage and sample applications (if any) please refer to the driver user guide.

Driver Features

The driver supports the following features:

  1. 10/100/1000 Mbps mode of operation.
  2. Auto negotiation.
  3. Support for multicast and broadcast frames.
  4. Promiscuous mode of operation.
  5. Linux NAPI support
  6. Only one port on the Baseboard is supported

Features Not Supported

  1. Second switch port
  2. Switch mode of operation

Constraints

NA

Supported System Calls

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

Performance and Benchmarks

Ethernet Port0 TCP - 1Gbps Mode Rx Performance
TCP Window Size
(in KBytes)
Bandwidth - TI814x
(in Mbits/sec)
TransferSize - TI814x
(in GBytes)
CPU Load (in %)
16 364 2.55 75
32 424 2.96 87
64 441 3.08 90
128 438 3.06 90
256 437 3.05 91


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

  • iperf version 2.0.4
  • On the DUT iperf is invoked in server mode  : "-s -w 256k"
  • On PC Host invoke iperf in the client mode  : "-c <server ip> -w <window size> -t60"
  • The transfers are measured over a duration of 60Secs
  • Cross cable is used to measure performance.
  • Speed is set to 1000Mbps
  • Root filesystem mounted from NAND (JFFS2).


Ethernet Port0 TCP - 1Gbps Mode Tx Performance
TCP Window Size
(in KBytes)
Bandwidth - TI814x
(in Mbits/sec)
TransferSize - TI814x
(in GBytes)
CPU Load (in %)
16 301 2.11 100
32 302 2.11 100
64 304 2.12 100
128 303 2.12 100
256 302 2.11 100


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

  • iperf version 2.0.4
  • On the DUT iperf is invoked in client mode  : "-c <server ip> -w <window size> -t60"
  • On PC Host invoke iperf in the server mode  : "-s -w 256k"
  • The transfers are measured over a duration of 60Secs
  • Cross cable is used to measure performance.
  • Speed is set to 1000Mbps
  • Root filesystem mounted from NAND (JFFS2).


NAND Driver

This section provides an overview of the NAND flash driver features along with throughput and CPU load numbers. For the architecture, installation, basic usage and sample applications (if any) please refer to the driver user guide.

Driver Features

The driver supports the following features:

  1. JFFS2 file system
  2. Supports Read/Write, Erase operations
  3. Bad Block Management
  4. Polled mode of transfer
  5. SLC NAND

Features Not Supported

None

Constraints

None

Supported System Calls

Supports the system call support proivided by MTD interface viz. open(), close(), read(), write(), ioctl()

Performance Benchmarks

NAND Raw Write Performance

  • 975.0 KBytes/sec
  • Command: "time nandwrite -q -p /dev/mtd10 /dev/shm/40MB". Write 40MB file to reserved partition (number 10) and measure the time using "time" command. This command assumes that the file /dev/shm/40MB is already available.


NAND Raw Read Performance

  • 393.5 KBytes/sec
  • Command: "time nanddump -f /dev/shm/40MB /dev/mtd10 ". Read 40MB file from the reserved partition (number 10) and measure the time using "time" command.

NOTE: JFFS2 is not used for performance tests as the actual data written to the NAND will be compressed by the JFFS2 filesystem layer.


USB Driver

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

MUSB OTG controller

The MUSB driver is implemented on top of Mentor controller IP which supports all the speeds (High, Full and Low). TI8148 USBOTG subsytem uses CPPI 4.1 DMA for all the transfers.

Features Not Supported

1. OTG support

Driver Features

The driver supports the following features

Host Mode

  1. HUB Class support (HUB)
  2. Human Interface Class (HID)
  3. Mass Storage Class (MSC)
  4. USB Video Class (UVC)
  5. USB Audio Class (UAC)

Gadget mode

  1. Mass Storage Class (MSC)
  2. USB Networking - RNDIS

USB Mass Storage Class Host Driver

Driver Features

The driver supports the following feature

1.DMA mode

2.PIO mode

Constraint

None

Supported System Calls

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

Supported IOCTLS

None

Performance Benchmarks (DMA mode)

       Setup : WesternDigital HDD (500GB) connected to usb0 port.
       File read/write performance data on usb0 port(WDD HDD) has been captured.
       LFTB Version 2.00.00.04 used for performance.

USB - ext2 File System Performance

USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 22.77 14.63
256 100 23.09 14.54
512 100 22.73 15.9
1024 100 22.39 15.63
5120 100 22.11 16.31


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 22.62 19.44
256 100 22.74 18.87
512 100 22.91 19.69
1024 100 22.53 18.49
5120 100 23.13 21.01


USB - vfat File System Performance

USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 19.81 32.4
256 100 19.76 31.72
512 100 19.69 29.72
1024 100 19.82 30.52
5120 100 19.70 31.21


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 21.08 19.47
256 100 20.56 20.12
512 100 21.11 18.46
1024 100 20.90 23.35
5120 100 21.05 20.80


The performance numbers are captured using the following.

  1. HDD - Western Digital 500GB drive


USB - ext2 File System Performance on simulataneous read/write on two HDD

       Setup : WesternDigital HDD (500GB) connected to usb0 port and Toshiba HDD connected to usb1 port.
       File read/write performance data on usb0 port(WDD HDD) has been captured while simulatenous
       file write is in progress on usb1 port(Toshiba HDD).
       LFTB Version 2.00.00.04 used for performance.
USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 17.65 47.22
256 100 17.42 45.47
512 100 17.20 46.61
1024 100 17.5 45.5
5120 100 17.82 44.27


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 16.03 52.21
256 100 15.87 53.32
512 100 16.26 52.86
1024 100 16.41 53.88
5120 100 16.27 54.78


USB - VFAT, File System Performance on simulataneous read/write on two HDD

       Setup : WesternDigital HDD (500GB) connected to usb0 port and Toshiba HDD connected to usb1 port.
       File read/write performance data on usb0 port(WDD HDD) has been captured while simulatenous
       file write is in progress on usb1 port(Toshiba HDD).
       LFTB Version 2.00.00.04 used for performance.
USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 14.22 48.47
256 100 14.56 54.95
512 100 15.17 57.83
1024 100 15.47 55.18
5120 100 14.95 57.71


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 14.76 53.16
256 100 15.24 53.91
512 100 14.65 54.32
1024 100 14.86 55.43
5120 100 14.81 51.76


USB Mass Storage Class Slave Driver

Description

This figure illustrates the stack diagram of the system with USB File Storage Gadget driver

USBSlaveStorage.PNG

Driver Features

The driver supports the following feature

  1. DMA mode
  2. PIO mode
  3. File backed storage driver was tested with SATA HDD media as the storage medium

Features Not Supported

None

Constraint

None

Supported System Calls

NA

Supported IOCTLS

NA

Performance Benchmarks

    The performance numbers are captured in DMA Mode using SATA HDD as file storage 
    gadget media exposing as removable media to windows over USB. 
    #SATA HDD - Western Digital 500GB drive
USB Slave- DMA Write Performance values
Bytes Transferred (MB)'SATA HDD'as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec)
250 1 250 1.42


USB Slave- DMA Read Performance values
Bytes Transferred (MB)'SATA HDD'as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec)
250 1 250 19.23


USB CDC/RNDIS Slave Driver

Description

The CDC RNDIS gadget driver that is used to send standard Ethernet frames using USB. The driver will create an Ethernet device by the name usb0.

UsBSlaveEthenet.PNG

Driver Features

The driver supports the following feature

  1. DMA mode
  2. PIO mode
  3. 10/100 Mbps speed.

Features Not Supported

None

Constraint

None

Supported System Calls

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

Supported IOCTLS

None

Performance Benchmarks

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


USB RNDIS-DMA Performance

    Setup : EVM as client and Linux Host PC as server
    command at EVM: iperf -c <window/linux host ip_adr> -w <8|16|32|64|128>K -t 60 -d
    command at Host: iperf -s
USB RNDIS-DMA Performance values - Client
TCP Window Size(in KBytes) Interval (in Seconds) Bandwidth (Mbits/Sec)
8 60 129
16 60 120
32 60 115
64 60 122
128 60 124



USB(HIGHSPEED)CDC-DMA Performance

USB CDC-DMA Performance values - Client
TCP Window Size(in KBytes) Interval (in Seconds) Bandwidth (Mbits/Sec)
8 60 73.5
16 60 76.8
32 60 76.8
64 60 76.8
128 60 69.1


MMC/SD Driver

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.

Driver Features

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

Features Not Supported

  1. 1-bit, 8-bit modes of operation.
  2. SPI mode of operation

Constraints

  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

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

Supported IOCTLs

None

Performance and Benchmarks

Important
The performance numbers can be severely affected if the media is mounted in sync mode.

EXT2 file system

SD - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 7.752634 4.96
256 100 7.854771 8.24
512 100 8.274311 8.44
1024 100 6.593320 7.10
5120 100 7.123337 9.44


SD - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 24.775290 26.71
256 100 24.803350 26.71
512 100 24.799303 26.71
1024 100 24.735794 25.47
5120 100 24.777620 24.35


The performance numbers were captured using the following:

  • SD Card (Sandisk Extreme III,SDHC,Class 6, 4GB)
  • CPU Power Management: Disabled
  • File System: ext2
  • Partition was mounted with async option

VFAT file system

SD - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 11.644813 16.65
256 100 11.511521 14.62
512 100 11.296312 15.30
1024 100 11.465301 13.13
5120 100 11.673743 14.48


SD - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 25.284828 25.06
256 100 25.276253 24.88
512 100 24.728613 28.94
1024 100 25.265722 25.67
5120 100 25.264542 25.00


The performance numbers were captured using the following:

  • SD Card (Sandisk Extreme III,SDHC,Class 6, 4GB)
  • CPU Power Management: Disabled
  • File System: vfat
  • Partition was mounted with async option

Observations

  • The performance numbers are lower than expected and will be analyzed/rectified in subsequent release.

Video Display Driver

This section describes the Video Display driver architecture, driver features.

Description

The following digram showes the architecture of the Video display Driver
Vpss linux sw arch.png


Driver Featurs

  1. Support 1080p-60/1080p-50/1080P-30/1080I-60/1080I-50/720P-60/720P-50 mode display through HDMI VENC
  2. Support mux multiple graphics planes into single VENC
  3. Support Video PLL configuration
  4. Support Venc Clock source configuration
  5. Support VENC output configuraiton(digital data format, sync mode, analog output format)
  6. Support PAL/NTSC SVIDEO output through SD_VENC
  7. Support reshuffling display order
  8. Support Customized timing configuration for DVO1/DVO2 output.
  9. Support on-chip HDMI display together with HDMI Kernel Driver.

Features Not Supports

  1. EVM RF output is not supported
  2. EVM Composite output is not supported
  3. EVM VGA output is not support

Fbdev Driver

Frame-buffer Display Driver.

Driver Features

  1. Support 3 independent graphics planes
  2. Support RGB888/ARGB8888/RGBA8888/RGB565/ARGB1551/RGBA5551/RGBA4444/ARGB4444/ARGB6666/RGBA6666
  3. Support 0.25x-4x scaling
  4. Support boundbox blending
  5. Support global blending
  6. Support Pixel blending
  7. Support Pallette blending
  8. Support RGB888 color key mapping
  9. Support anti-flickering filter.
  10. Support wait for VSYNC and paning
  11. Support mmapped (driver allocated) buffers


Features Not Supports

  1. Rotation is not supported.
  2. Mirroring is not supported.
  3. Stencliling is not supported


Constrains

None

Supported System Calls

open(), close(), mmap(), munmap() and ioctl()

Performance Benchmarks


Please check HDVPSS Feature Performance Guide here