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.

AM35x-OMAP35x-PSP 03.00.00.04 DataSheet

From Texas Instruments Wiki
Jump to: navigation, search

Content is no longer maintained and is being kept for reference only!

TIBanner.png

Important
AM/DM37x support is included for internal development only.


Contents

Document License[edit]

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

Content is no longer maintained and is being kept for reference only!

About This Manual[edit]

This document provides an overview and performance data for each of the device drivers which are part of the Linux PSP package supporting AM3517,OMAP35x and AM/DM37x Socs. Note that only a subset of these platforms may have actually been tested and verified in the package you are using. Please refer to the release notes provided with the package for information on which platforms have actually been verified.

If You Need Assistance[edit]

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

Trademarks[edit]

OMAPTM is trademark of Texas Instruments Incorporated. All other trademarks are the property of the respective owner.

PSP Linux Drivers[edit]

This section provides brief overview of the device drivers supported in the Linux PSP release based on Linux OMAP git tree at http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git

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

OMAP Linux PSP details[edit]

  1. Supports for OMAP35x,AM/DM37x Socs (on OMAP3EVM Rev.G) and AM3517 Soc on AM3517EVM
  2. Built with Linux kernel version 2.6.32/PM.
  3. Compiled with code sourcery tool chain version arm-2009-q1-203.
  4. Supports U-Boot version 2009.11
  5. Supports boot from MMC and NAND flash.
  6. Ships with sample root file system, ramdisk, pre-built u-boot, uImage binaries, sample applications and documentation.

Boot modes supported[edit]

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

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.


OMAP SDK Supported Boot Modes
Boot Mode OMAP35x AM/DM37x AM3517
NAND Flash Yes Yes Yes
NOR Flash No No No
MMC/SD Yes Yes Yes


Device driver list[edit]

Device Driver List
Peripheral Description Linux driver type
Video Display Video Display driver supporting LCD, DVI and TV out V4L2 and Frame-buffer display driver
Ethernet Transmit/receive network data. Supports Auto negotiation with 10/100 Mbps link speed Netdev
Audio (McBSP) Audio record and playback ALSA SoC
MUSB Host Supports MSC, HID and USB Audio/Video classes USB HCD
MUSB Gadget Supports File-storage and CDC/RNDIS USB Gadget
MUSB OTG Supports HNP/SRP USB HCD
EHCI Host MSC, HID(via a HS hub) and USB Audio/Video USB HCD
NAND Flash Flash storage system MTD Character and Block
MMC/SD Interface to MultiMedia Secure Digital cards Block
Touch Screen Enables the LCD to be used for touchscreen input Input(event) driver
UART Serial Communication Interface Character
I2C Inter-IC Communication Character
SPI Serial Peripheral Interface Character
AM3517: CAN (HECC) Transmit/receive data over CAN (HECC) peripheral using socketCAN interface Netdev
AM3517: RTC (S35390A) Real Time Clock over I2C1 RTC Framework
AM3517: Capture Capture driver supporting BT656 mode V4L2 Sub-Device framework based
OMAP35x,AM/DM37x: Video Capture Capture driver supporting BT656 mode V4L2-Int framework based
OMAP35x,AM/DM37x: Video Resizer Character based Resizer Driver using V4L2-Buf layer for buffer management Character driver using V4L2-Buf layer
OMAP35x,AM/DM37x: Keypad Keypad driver for OMAP3EVM keypad Input(event) driver
AM3517: Keypad Keypad driver for TCA6416 IO expander based keypad Input(event) driver
OMAP35x: Power Management CPUIdle and dynamic tick CPUIdle, dyntick

Drivers not supported[edit]

  1. Power Management (cpufreq, cpuidle) on AM3517


Driver DMA usage[edit]

OMAP35x,AM/DM37x,AM3517 peripheral driver DMA usage
Driver DMA usage
Audio (McBSP) sDMA
Ethernet Internal DMA(AM3517 only)
MUSB OTG Internal DMA
USB EHCI Internal DMA
NAND Flash None
NOR Flash None
DSS (V4L2/Fbdev Display) Internal DMA
OMAP35x,AM/DM37x: ISP-Resizer Internal DMA
AM3517: VPFE Capture Internal DMA
OMAP35x,AM/DM37x: ISP-Camera Internal DMA
SPI sDMA
MMC/SD sDMA
UART None
I2C None
AM3517: CAN (HECC) None

ALSA SoC Audio Driver[edit]

This section provides details on ALSA SoC audio driver along with throughput and CPU load numbers.

Introduction[edit]

OMAP35x, AM/DM37x, AM3517 audio driver complies to the ALSA SoC framework.

ASoC framework provides better audio support for embedded SoC processors and portable audio codecs. It 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.

Following architecture diagram shows all the components and the interactions among them:

OMAP35x, AM/DM37x[edit]

ALSA SoC Architecture (OMAP35x, AM/DM37x)

AM3517[edit]

ALSA SoC Architecture (AM3517)

Driver Features[edit]

The driver supports the following features:

  1. Supports AIC23 audio codec (on AM3517 only) and TPS65950 audio codec (on OMAP35x, AM/DM37x only) in ALSA SoC framework.
  2. Multiple sample rates support (8KHz, 16KHz, 22.05KHz, 32KHz, 44.1KHz, 48KHz, 64KHz, 88.2KHz and 96KHz - AM3517; 8 KHz, 11.025 KHz, 12 KHz, 16 KHz, 22.05 KHz, 24 KHz, 32 KHz, 44.1 KHz and 48 KHz - OMAP35x) for both capture and playback.
  3. Supports audio in stereo mode.
  4. Supports simultaneous playback and record (full-duplex mode).
  5. Start, stop, pause and resume feature.
  6. Supports mixer interface for audio codecs.
  7. Supports MMAP mode for both playback and capture.

Features Not Supported[edit]

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

  1. By default, codec is configured in master mode and McBSP 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[edit]

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

Supported IOCTLs[edit]

NA

Performance and Benchmarks[edit]

The performance numbers were captured using the following:

  • Word length in bits = 16
  • Number of channels per sample = 2
  • Power Management = Disabled

The performance numbers are same for on each of OMAP35x, AM/DM37x and AM3517 platforms. Commands used to capture the same are:

  • aplay -c 2 -f S16_LE -r <<sample rate>> <<file_name>> :- Normal mode
  • arecord -c 2 -f S16_LE -r <<sample rate>> <<file_name>> :- Normal mode
  • aplay -c 2 -f S16_LE -r <<sample rate>> -M <<file_name>> :- MMAP mode
  • arecord -c 2 -f S16_LE -r <<sample rate>> -M <<file_name>> :- MMAP mode
Audio Write Performance
Sampling Rate (in Hz) CPU Load (in %) CPU Load (in %)

Normal Mode MMAP Mode
8000 0 0
32000 0 0
44100 2 2
48000 2 2
Audio Read Performance
Sampling Rate (in Hz) CPU Load (in %) CPU Load (in %)

Normal Mode MMAP Mode
8000 0 0
32000 0 0
44100 2 2
48000 2 2

Ethernet Driver[edit]

This section provides details on Ethernet driver along with throughput and CPU load numbers.

Introduction[edit]

The Ethernet driver supports the Linux netdev interface.

Ethernet am3517.png

Driver Features[edit]

The driver supports the following features:

  1. 10/100 Mbps mode of operation.
  2. Auto negotiation.
  3. Support for multicast and broadcast frames.
  4. Promiscuous mode of operation.
  5. Full duplex and half duplex mode of operation.
  6. Linux NAPI support

Features Not Supported[edit]

NA

Constraints[edit]

NA

Supported System Calls[edit]

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


Performance and Benchmarks[edit]

OMAP35x,AM/DM37x,AM3517[edit]

Ethernet TCP - 100Mbps Mode Performance
TCP Window Size
(in KBytes)
Bandwidth - OMAP35x
(in Mbits/sec)
Bandwidth - AM3517
(in Mbits/sec)
Bandwidth - AM/DM37x
(in Mbits/sec)
16 44.7 27 49.6
32 45.6 52 50.6
64 45.6 79 50.5
128 45.5 92 50.4

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

  • On the DUT iperf is invoked in the server mode  : "-s" - window size default of 212KB
  • On PC Host invoke iperf in client mode  : "-c <server ip> -w <window size> -d -t60"
  • The transfers are measured over a duration of 60Secs
  • Cross cable is used to measure performance.
  • Speed is set to 100Mbps
  • Power Management disabled for measurement


Ethernet UDP - 100Mbps Mode Performance
UDP Buffer Size
(in KBytes)
Bandwidth - OMAP35x
(in Mbits/sec)
Bandwidth - AM3517
(in Mbits/sec)
Bandwidth - AM/DM37x
(in Mbits/sec)
16 21.4 50 24.8
32 27.6 82 30.3
64 37.8 91 40.4
128 41.6 103 49.5

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

  • On the PC Host iperf is invoked in the server mode  : "-s -u -w 256k "
  • On DUT invoke iperf in client mode  : "-c <server ip> -w <window size> -d -b 100M -t60"
  • The transfers are measured over a duration of 60Secs
  • Cross cable is used to measure performance.
  • Speed is set to 100Mbps
  • Power Management disabled for measurement


Video Display Driver[edit]

This section describes the Video Display driver architecture, driver features and performance numbers (throughput and CPU load).

Introduction[edit]

Video Display driver is based on two different frameworks, V4L2 and FBDEV.

OMAP3 Display Driver Architecture


Driver Features[edit]

  1. Supports interfaces LCD, DVI and TV out
  2. Supports TV display interface at NTSC and PAL resolutions
  3. Supports YUV, UYVU, RGB565, RGB24P and RGB24 unpacked on video planes, in addition ARGB on video2 plane.
  4. Supports RGB565, ARGB, RGBA, RGB24 packed and unpacked on graphics plane
  5. Video planes controlled through V4L2 user interface whereas Graphic plane controlled through FBDEV user interface
  6. Supports setting up of OSD window destinations (TV or LCD) through sysfs
  7. Supports mmapped (driver allocated) and user buffer exchange mechanism in V4L2 driver and only mmapped (driver allocated) buffers in FBDEV driver
  8. Supports rotation - 0, 90, 180 and 270 degrees
  9. Supports scaling from 1/4x to 8x on video pipelines
  10. Supports Wait for Vsync and Panning feature under FBDEV
  11. Supports Alpha blending, both global alpha and pixel alpha
  12. Supports Source and Destination color keying through V4L2 ioctls
  13. Supports Modular build

Driver Features - OMAP35x, AM/DM37x[edit]

  1. Supports LCD display interface at VGA resolution (480*640)

Driver Features - AM3517[edit]

  1. Supports LCD display interface at resolution (480*272)

Features Not Supported[edit]

  1. RGB888 rotation is not supported
  2. RFBI interface is not supported
  3. DSI/SDI serial interface is not supported
  4. Dynamic Changing of modes (NTSC/PAL) for TV out not supported
  5. Linking feature not supported on video pipelines
  6. Brightness class driver is not supported
  7. Mirroring is not supported

Features Not Supported - AM/DM37x[edit]

  1. DVI and TV out is not supported

Constraints[edit]

  1. Incorrect configuration of parameters results in Sync Lost
  2. Minimum 3 Buffers are required for streaming in V4L2
  3. PAL resolution can be set maximum to 720 x 574 instead of 720 x 576 because of hardware limitation
  4. Upscaling and downscaling with images more that 720x574 resolution is not supported because of dss functional clock frequency limitation

Supported System Calls[edit]

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

Performance Benchmarks[edit]

Setup Details -

  • TV - Hitachi LCD TV (NTSC/PAL)
  • DVI Monitor - Dell Monitor (720P/480P) without rotation
  • File System - NFS
  • CPU Idle - Disabled
  • Tool Used for measurement - LFTB

Performance Benchmarks - OMAP35x[edit]

OMAP35x Display Driver Performance
Output Interface Driver Framework Resolution Frame Rate (FPS) CPU Load (%)
LCD Fbdev VGA (640x480) 58.831291 0.12
TV Fbdev NTSC(720x480) 30.189657 0.18
TV Fbdev PAL(720x574) 25.074780 0.0
DVI Fbdev 720P(1280x720) 60.028236 0.12
DVI Fbdev 480P(720x480) 59.204834 0.12
LCD V4L2 VGA(640x480) 58.495472 0.06
TV V4L2 NTSC(720x480) 30.001509 0.03
TV V4L2 PAL(720x574) 25.0260724 0.03
DVI V4L2 720P(1280x720) 59.968182 0.06
DVI V4L2 480P(720x480) 58.669479 0.12


Performance Benchmarks - AM/DM37x[edit]

AM/DM37x Display Driver Performance
Output Interface Driver Framework Resolution Frame Rate (FPS) CPU Load (%)
LCD Fbdev VGA (640x480) 29.443403 0.0
LCD V4L2 VGA(640x480) 29.247189 0.0


Performance Benchmarks - AM3517[edit]

Video Display Driver Performance
Output Interface Driver Framework Resolution Frame Rate (FPS) CPU Load (%)
LCD Fbdev 480x272 59.447750 0.0
TV Fbdev NTSC(720x480) 30.050051 0.12
TV Fbdev PAL(720x574) 25.147581 0.10
DVI Fbdev 720P(1280x720) 60.041698 0.12
LCD V4L2 480x272 59.356911 0.06
TV V4L2 NTSC(720x480) 30.000294 0.06
TV V4L2 PAL(720x574) 25.024925 0.02
DVI V4L2 720P(1280x720) 59.965759 0.06

Video Capture Driver[edit]

This section describes the Video Capture driver architecture, driver features and performance numbers (throughput and CPU load).

Introduction[edit]

Current V4L2 sub-system is supporting 3 different frameworks, V4L2-Int, SoC-Cam and Sub-Dev. Out of these, 2 has already become legacy framework and all future driver must use Sub-Dev frameowrk.

Although from user application point of view the interface will remain the same, driver follows standard V4L2 interface.

OMAP35x, AM/DM37x[edit]

OMAP35x and AM/DM37x Video Capture driver is based on V4L2-Int framework.


OMAP35x, AM/DM37x Capture Driver Block Diagram


AM3517[edit]

AM3517 Video Capture driver is based on V4L2 Sub_device framework.


AM3517 Capture Driver Block Diagram


Driver Features[edit]

  1. Supports one software channel and a corresponding device node (/dev/video0) for capture module
  2. Supports mmapped (driver allocated) and user buffer exchange mechanism
  3. Supports dynamic switching among input interfaces with some necessary restrictions wherever applicable
  4. Supports NTSC and PAL standard on Composite and S-Video interfaces
  5. Supports 8-bit BT.656 capture in UYVY and YUYV interleaved formats
  6. Supports standard V4L2 IOCTLs to get/set various control parameters like brightness, contrast and saturation
  7. Supports Modular build

Driver Features - OMAP35x, AM/DM37x[edit]

  1. Supports both Multi-Media Daughter Card and on-board Video Decoder (NOTE:Both are mutual exclusive to each other)

Features Not Supported[edit]

  1. Cropping and scaling operations and their corresponding V4L2 IOCTLs
  2. Raw capture (capture through sensor interface)

Features Not Supported - OMAP35x, AM/DM37x[edit]

  1. On-the-fly previewer interface is not supported
  2. All internal processing block, H3A, Histogram, black level compensation, etc.. are not supported
  3. CSI serial interface is not supported
  4. On-the-fly resizing operation


Constraints[edit]

  1. Dynamic switching of resolution and dynamic switching of interfaces is not supported when streaming is on
  2. Driver buffer addresses and pitch must be aligned to 32 byte boundary

Constraints - OMAP35x, AM/DM37x[edit]

  1. In case of USERPTR with VM_IO, the buffer size must be 4096 byte aligned

Constraints - AM3517[edit]

  1. Greenish color is seen due to Hardware know issue, Application must implement Reverse A-Law table (Please refer to the sample application available with release for reference)

Supported System Calls[edit]

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

Performance Benchmarks[edit]

Setup Details -

  • DVD Player - Sony (DVP-NS51P)
  • TV - Hitachi LCD TV (NTSC/PAL) Or LCD Panel (VGA)
  • File System - NFS
  • CPU Idle - Disabled
  • Tool Used for measurement - saUserPtrLoopback.c

Performance Benchmarks - OMAP35x[edit]

OMAP35x Capture Driver Performance
Resolution Frame Rate (FPS) CPU Load (%)
NTSC(720x480) 30 12.71
PAL(720x574) 25 11.42


Performance Benchmarks - AM/DM37x[edit]

AM/DM37x Capture Driver Performance
Resolution Frame Rate (FPS) CPU Load (%)
NTSC(720x480) 30 9.32
PAL(720x574) 25 7.68


Performance Benchmarks - AM3517[edit]

AM3517 Capture Driver Performance'
Resolution Frame Rate (FPS) CPU Load (%)
NTSC(720x480) 30 50
PAL(720x574) 25 42

Video Resizer Driver (Only for OMAP35x and AM/DM37x)[edit]

This section describes the Video Resizer driver architecture, driver features and performance numbers (throughput and CPU load).

Introduction[edit]

OMAP35x Video Resizer driver is simple character driver using V4L2-buffer layer for buffer management.

Resizer-drv-blk-dia.png

Driver Features[edit]

  1. Resizes input frame stored in RAM and stores output frame in RAM
  2. Supports resizing from 1/4x to 4x
  3. Supports independent horizontal & vertical resizing
  4. Supports YUV422 packed and color separate data
  5. Supports driver allocated and user provided buffers including IOMEM
  6. Supports Modular build

Features Not Supported[edit]

  1. On-the-fly mode of operation

Constraints[edit]

  1. All input,ouput addresses and pitch must be 32 bytes aligned
  2. Output image size cannot be more than 2047x2047
  3. Output width must be even
  4. Output width must be 16 byte aligned for vertical resizing
  5. The horizontal start pixel must be within range 0-15 for color interleaved and 0-31 for color separate data

Supported System Calls[edit]

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

Performance Benchmarks[edit]

Setup Details -

  • File System - NFS
  • CPU Idle - Disabled
  • Tool Used for measurement - LFTB

Performance Benchmarks - OMAP35x[edit]

OMAP35x Resizer Driver Performance
Scaling Time Taken (MicroSecond) CPU Load (%)
4x (176x144 => 704x576) 1312 15.67
1/4x (704x576 => 176x144) 3205 41.67


Performance Benchmarks - AM/DM37x[edit]

AM/DM37x Resizer Driver Performance
Scaling Time Taken (MicroSecond) CPU Load (%)
4x (176x144 => 704x576) 1098 19.23
1/4x (704x576 => 176x144) 2625 20.00


NAND Driver[edit]

This section describes the NAND flash driver architecture, driver features and performance numbers (throughput and CPU load).

Introduction[edit]

The NAND flash driver is implemented as both - block driver and character driver, compliant with the standard MTD driver. It supports various NAND Flash chips (see drivers/mtd/nand/nand_ids.h file.) The NAND driver creates the device nodes for user space access (/dev/mtdblock0, /dev/mtdblock1, /dev/mtd0,/dev/mtd1 and so on). This release has been tested with Micron NAND device on the OMAP3EVM/AM3517EVM


This figure illustrates the stack diagram of NAND flash driver in Linux.

Omap nand driver.png

Driver Features[edit]

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
  6. NAND Flash divided into 5 partitions
    1. 512KB partition for X-loader
    2. 1920 KB (Read Only) partition for U-Boot
    3. 128 KB (Read Only) for environment variables
    4. 5 MB (Read/Write) partition for Linux
    5. Remainder for file system and others (Read/Write)

Features Not Supported[edit]

None

Constraints[edit]

None

Supported System Calls[edit]

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

Performance Benchmarks[edit]

Nand Read performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 9.23 100 9.63 100 9.16 100
256 9.17 100 10.34 100 9.19 100
512 9.12 100 10.37 100 9.45 100
1024 8.98 100 10.31 100 9.51 100
5120 8.81 100 10.00 100 9.52 100


Nand Write performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 8.77 100 9.14 100 7.53 100
256 8.79 100 9.23 100 7.29 100
512 8.84 100 10.64 100 8.38 100
1024 8.81 100 10.60 100 8.01 100
5120 8.78 100 10.89 100 8.83 100

The performance numbers are captured using the following:

  1. NAND PART Number: Micron MT29F4G08AAC
  2. CPU Power Management disabled.
  3. File System = JFFS2
  4. NAND partition was mounted with async option.


MMC/SD Driver[edit]

This section 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 1/4 bit modes
  6. Support for card detect and Write protect features
  7. DMA mode for data transfer operations
  8. SDIO functionality (tested with marvell 8686 wlan card)

Features Not Supported[edit]

  1. Support for 8-bit mode of operation.
  2. SPI mode of operation

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()

Supported IOCTLs[edit]

None

Performance and Benchmarks[edit]

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

Performance Measurement using EXT2 file system[edit]

Read performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 19.77 22.98 19.42 16.67 19.79 24.54
256 19.79 20.79 19.68 16.82 19.79 24.86
512 19.78 23.77 19.58 15.54 19.78 24.15
1024 19.74 24.81 19.55 16.01 19.81 24.39
5120 17.50 17.06 17.62 11.76 19.80 24.57



Write performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 16.58 12.82 16.52 12.15 17.17 13.26
256 15.25 12.26 15.23 12.45 15.62 16.69
512 15.46 11.46 16.07 13.02 17.03 15.77
1024 16.12 12.00 16.23 10.59 16.68 17.33
5120 16.12 12.48 15.90 11.38 17.75 17.29


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

Performance Measurement using VFAT file system[edit]

Read performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 19.30 24.49 18.93 18.05 19.43 25.46
256 19.97 25.14 20.62 18.52 19.42 24.26
512 20.00 25.48 20.67 18.77 19.47 25.23
1024 19.96 25.57 20.65 18.31 19.55 25.19
5120 19.65 25.12 20.22 18.67 19.38 25.00



Write performance values
Buffer Size
(in KBytes)
OMAP35x AM/DM37x AM3517
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 18.23 21.08 18.31 19.06 16.07 23.04
256 17.01 22.08 17.83 18.00 15.46 23.30
512 17.64 22.56 17.83 17.66 15.63 24.74
1024 17.67 21.04 18.32 20.42 15.63 24.11
5120 17.80 22.07 18.43 21.27 15.25 23.84


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

Real Time Clock (RTC) Driver (Only for AM3517)[edit]

This section provides details on RTC (S35390A) driver along with throughput and CPU load numbers.

Introduction[edit]

AM3517 EVM supports external RTC chip S35390A over I2C1.

RTC.PNG

Driver Features[edit]

The driver supports the following features:

  1. Supports IOCTLs to set/get the time/date value
  2. Driver can be built as a loadable module and inserted dynamically.

Features Not Supported[edit]

  • Interrupt based Wake-up and respective IOCTL's

Constraints[edit]

None

Supported System Calls[edit]

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

Performance and Benchmarks[edit]

None

USB Driver[edit]

This section describes the USB (EHCI and MUSB) driver architecture, features supported/not supported, constraints and performance numbers.

EHCI host Controller[edit]

Description[edit]

OMAP35x[edit]

OMAP3EVM (Rev < E) has EHCI port on Mistral Daughter Card (MDC) while on OMAP3EVM (Rev >= E) EHCI port is on main board itself.

AM/DM37x[edit]

EHCI port is on main board of OMAP3EVM (Rev G) which is used for testing OMAP37x.

AM3517[edit]

AM3517EVM has one EHCI port on base board and another EHCI port on UI card. EHCI port on UI card would work only if LCD is not enabled as LCD and UI card EHCI port share some IO pins.

Driver Features[edit]

The driver supports the following features

  1. Hub Class
  2. Mass Storage Class (MSC)
  3. Human Interface Class (HID) (through a high speed hub)
  4. USB Video Class (UVC)
  5. USB Audio Class (UAC)

Features Not Supported[edit]

All other classes not mentioned in the "Supported Features" section.

MUSB OTG controller[edit]

Description[edit]

OMAP35x[edit]

The MUSB driver is implemented on top of Mentor OTG IP version 1.4 which supports all the speeds (High, Full and Low).MUSB uses inventra DMA for all the transfers. OMAP3EVM uses ISP1504 external USB PHY.

AM/DM37x[edit]

The MUSB driver is implemented on top of Mentor OTG IP version 2.0 which supports all the speeds (High, Full and Low).MUSB uses inventra DMA for all the transfers. OMAP3EVM uses ISP1504 external USB PHY.

AM3517[edit]

The MUSB driver is implemented on top of Mentor OTG IP version 1.8 which supports all the speeds (High, Full and Low).MUSB uses CPPI4.1 DMA for all the transfers. AM3517 has USB PHY inside IP itself.

Driver Features[edit]

The driver supports the following features

Host Mode

  1. Hub Class
  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/CDC

OTG mode

  1. Session Request Protocol (SRP)
  2. Host Negotiation Protocol (HNP)

Features Not Supported[edit]

  1. All other classes not mentioned in the "Supported Features" section.

USB Mass Storage Class Host Driver[edit]

Description[edit]

This figure illustrates the stack diagram of the system with USB Mass Storage Class driver

Usb-msc.png

Driver Features[edit]

The driver supports the following feature

  1. DMA mode
  2. PIO mode

Features Not Supported[edit]

None

Constraint[edit]

  1. There is a limitation in the power that is supplied by the charge pump of the ISP1504 PHY on OMAP3EVM-1 (<=Rev-E). If you notice VBUSERR messages in the system console, then connect a self powered USB hub and then attach the device to the hub
  2. OMAP3EVM-2 (>=Rev-E) can support upto 500mA power and thus self powered hub is not required.VBUS must be re-enabled after disconnect and reconnect of the MSC device while the MUSB image is built in OTG mode

Supported System Calls[edit]

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

Supported IOCTLS[edit]

None

Performance Benchmarks[edit]


Important

For Mass-storage applications, 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.

The numbers for USB MSC were obtained using internal benchmarking tool.


OMAP35x[edit]

USB MSC (MUSB) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
  4. System DMA on all Rx channels: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 23.42 29.21
256 100 22.90 28.85
512 100 22.81 30.94
1024 100 24.24 32.87
5120 100 22.55 30.52


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 11.74 35.43
256 100 11.62 35.96
512 100 11.55 35.94
1024 100 11.66 35.60
5120 100 11.84 33.90
USB MSC (MUSB) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
  4. System DMA on all Rx channels: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 18.69 38.15
256 100 19.48 40.07
512 100 18.75 41.76
1024 100 18.99 43.56
5120 100 19.13 43.03


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 11.16 38.76
256 100 11.17 38.66
512 100 11.22 37.31
1024 100 11.42 32.86
5120 100 11.38 36.48
USB MSC (EHCI) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 22.57 24.73
256 50 22.30 24.73
512 50 22.51 27.43
1024 50 22.00 26.85
5120 50 22.36 26.88


USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 21.33 31.49
256 50 21.28 36.40
512 50 21.56 35.19
1024 50 21.26 34.50
5120 50 21.47 33.33
USB MSC (EHCI) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 18.18 35.66
256 50 14.93 35.12
512 50 17.65 36.10
1024 50 17.73 36.38
5120 50 17.58 37.37


USB-MSC EHCI Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 21.37 34.02
256 50 21.35 35.58
512 50 21.43 33.61
1024 50 21.50 33.81
5120 50 21.62 34.16

AM/DM37x[edit]

USB MSC (MUSB) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 22.48 53.43
256 100 23.34 51.12
512 100 22.49 61.67
1024 100 21.28 52.94
5120 100 22.07 59.16


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 11.74 35.43
256 100 11.62 35.96
512 100 11.55 35.94
1024 100 11.66 35.60
5120 100 11.84 33.90
USB MSC (MUSB) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 16.52 53.54
256 100 16.66 54.69
512 100 15.34 64.61
1024 100 15.89 59.48
5120 100 15.95 60.02


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 11.61 37.61
256 100 11.65 37.78
512 100 11.63 36.70
1024 100 11.64 38.31
5120 100 11.63 36.81
USB MSC (EHCI) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 22.54 51.84
256 50 21.30 49.59
512 50 21.60 50.61
1024 50 21.96 53.68
5120 50 21.01 51.31


USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 19.45 40.11
256 50 19.52 39.03
512 50 19.61 39.81
1024 50 19.70 40.45
5120 50 19.55 39.14
USB MSC (EHCI) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 11.94 55.62
256 50 15.90 52.59
512 50 15.55 58.72
1024 50 15.62 57.08
5120 50 15.51 57.50


USB-MSC EHCI Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 19.55 43.71
256 50 19.69 45.22
512 50 19.52 42.06
1024 50 19.55 39.89
5120 50 19.72 40.11

AM3517[edit]

USB MSC (MUSB) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 23.59 29.64
256 100 22.78 24.73
512 100 22.26 31.49
1024 100 22.25 29.15
5120 100 22.25 29.09


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 21.28 38.49
256 100 21.10 35.94
512 100 21.00 31.60
1024 100 21.13 35.35
5120 100 21.03 34.13
USB MSC (MUSB) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
USB-MSC MUSB Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 19.03 38.80
256 100 18.81 37.61
512 100 17.40 40.10
1024 100 17.64 40.91
5120 100 15.36 44.91


USB-MSC MUSB Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 100 21.05 35.76
256 100 21.10 37.35
512 100 21.10 34.68
1024 100 21.06 30.58
5120 100 21.20 37.04
USB MSC (EHCI) Host mode DMA Ext2 File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: ext2
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 22.09 26.81
256 50 22.49 26.25
512 50 22.35 26.55
1024 50 21.67 26.30
5120 50 21.74 26.15


USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 21.38 34.56
256 50 20.86 37.72
512 50 21.26 26.33
1024 50 21.33 34.69
5120 50 21.24 34.42
USB MSC (EHCI) Host mode DMA VFAT File System Performance[edit]

The performance numbers are captured using the following.

  1. Hard disk: Toshiba 80GB DISK DRIVE
  2. File format: vfat
  3. CPU Idle state: Disabled
USB-MSC EHCI Host-DMA-Write Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 18.16 35.36
256 50 18.27 32.98
512 50 17.50 37.40
1024 50 17.53 38.19
5120 50 17.89 40.24


USB-MSC EHCI Host-DMA-Read Performance values
Buffer Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBytes/sec)
CPU Load
(in %)
100 50 20.94 36.42
256 50 21.18 36.84
512 50 21.20 34.35
1024 50 21.29 37.38
5120 50 21.40 35.86

USB Mass Storage Class Slave Driver[edit]

Description[edit]

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

USBSlaveStorage.PNG

Driver Features[edit]

The driver supports the following feature

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

Features Not Supported[edit]

None

Constraint[edit]

None

Supported System Calls[edit]

NA

Supported IOCTLS[edit]

NA

Performance Benchmarks[edit]

OMAP35x[edit]

USB Slave-DMA Performance[edit]
USB Slave-DMA-Read Performance values
Bytes Transferred (MB) Number of files transferred Total Bytes transferred (MB) Data Rate (MB/sec)
200 1 200 4.4
USB Slave-DMA-Write Performance values
Bytes Transferred (MB) Number of files transferred Total Bytes transferred (MB) Data Rate (MB/sec)
200 1 200 4.25

The performance numbers are captured using the following.

  1. Storage media: Toshiba 80 GB HDD connected to EHCI port
  2. File format: vfat on Windows XP
  3. CPU Idle state: off
  4. System DMA for Rx channel : Enabled

AM/DM37x[edit]

USB Slave-DMA Performance[edit]
USB Slave-DMA-Read Performance values
Bytes Transferred (MB) Number of files transferred Total Bytes transferred (MB) Data Rate (MB/sec)
200 1 200 5.12
1000 1 1000 5.24
USB Slave-DMA-Write Performance values
Bytes Transferred (MB) Number of files transferred Total Bytes transferred (MB) Data Rate (MB/sec)
200 1 200 3.6
1000 1 1000 5.0

The performance numbers are captured using the following.

  1. Storage media: Toshiba 80 GB HDD connected to EHCI port
  2. File format: vfat on Windows XP
  3. CPU Idle state: off
  4. System DMA for Rx channel : Enabled

AM3517[edit]

USB Slave-DMA Performance[edit]
USB Slave-DMA-Read Performance values
Bytes Transferred
(MB)
Number of files transferred Total Bytes transferred
(MB)
Data Rate
(MB/sec)
200 1 200 13.92
1000 1 1000 14.23
USB Slave-DMA-Write Performance values
Bytes Transferred
(MB)
Number of files transferred Total Bytes transferred
(MB)
Data Rate
(MB/sec)
200 1 200 6.81
1000 1 1000 6.89

The performance numbers are captured using the following.

  1. Storage media: Toshiba 80 GB HDD connected to EHCI port
  2. File format: vfat on Windows XP
  3. CPU Idle state: off

USB CDC/RNDIS Slave Driver[edit]

Description[edit]

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

The driver supports the following feature

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

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.

OMAP35x[edit]

USB CDC-DMA Performance[edit]
USB CDC-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 393 55 60
32 405 56.6 60
64 414 58 60
128 367 58 60
USB RNDIS-DMA Performance[edit]
USB RNDIS-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 516 72.2 60
32 493 68.4 60
64 511 71.5 60
128 469 65.5 60

AM/DM37x[edit]

USB CDC-DMA Performance[edit]

AM/DM37x CDC is not functional to capture numbers.

USB CDC-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 NA NA NA
32 NA NA NA
64 NA NA NA
128 NA NA NA
208 NA NA NA
USB RNDIS-DMA Performance[edit]
USB RNDIS-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 519 72.6 60
32 566 79.1 60
64 575 80.4 60
128 578 80.9 60

AM3517[edit]

USB CDC-DMA Performance[edit]
USB CDC-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 780 109.2 60
32 786 109.9 60
64 804 112.4 60
128 848 118.5 60
208 776 108.4 60
USB RNDIS-DMA Performance[edit]
USB RNDIS-DMA Performance values - Client
TCP Window Size
(in KBytes)
Total Bytes Transferred
(in MBytes)
Transfer Rate
(in MBits/sec)
Interval
(in sec)
16 911 127.4 60
32 948 132.5 60
64 994 138.9 60
128 955 143.5 60
208 907 133.5 60

USB Human Interface Device (HID) Driver[edit]

Description[edit]

The event sub system creates /dev/input/event* devices with the help of mdev.

Driver Features[edit]

The driver supports the following feature

  1. DMA mode
  2. PIO mode
  3. USB Mouse and Keyboards that conform to the USB HID specifications

Features Not Supported[edit]

None

Constraint[edit]

None

Supported System Calls[edit]

NA

Supported IOCTLS[edit]

NA

Performance Benchmarks[edit]

NA

USB Isochronous Driver[edit]

Description[edit]

USB camera, speaker and mic uses isochronouse transfers. USB Video Class (UVC) is used by most of the USB cameras to capture image.

Driver Features[edit]

The driver supports the following feature

  1. DMA mode
  2. PIO mode
  3. Support for USB Audio and video class(UVC class)

Features Not Supported[edit]

None

Constraint[edit]

None

Supported System Calls[edit]

NA

Supported IOCTLS[edit]

NA

Performance Benchmarks[edit]

NA

USB OTG Driver[edit]

Description[edit]

MUSB controller on OMAP3530EVM and AM3517EVM supports USB On The Go (OTG). OTG protocol enables runtime role switch between USB host and device. This is achieved using Session Request Protocol (SRP) and Host Negotiation Protocol (HNP).

Driver Features[edit]

The driver supports the following feature

  1. Both HNP and SRP are supported

Features Not Supported[edit]

Constraint[edit]

None

Supported System Calls[edit]

NA

Supported IOCTLS[edit]

NA

Performance Benchmarks[edit]

NA

 

Power Management[edit]

Introduction[edit]

OMAP35x, AM/DM37x silicon provides a rich set of power management features. The features include Clock control at module level, multiple power and voltage domains etc.

This section provides provides an overview of power management features supported and steps to enable these features in the kernel configuration. It also provides the typical power consumption observed for different scenarios.

cpuidle[edit]

When idle loop is executed, kernel is not doing any useful 'work'. This is an opportunity to save power. The cpuidle framework helps in saving power during the idle state.

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.

SmartReflex[edit]

SmartReflex is a power-management technique for controlling the operating voltage of a device to reduce its active power consumption. It helps in achieving optimal performance/power trade-off for all devices across the technology process spectrum and across temperature variations.

Features[edit]

The features supported in this release are:

  • Dynamic Tick (NO_HZ) framework.
    • The cpuidle framework with MPU and Core transition to retention(RET) and OFF states.
      • The menu governor is supported.
  • Static selection of VDD1 OPP via bootarg - mpurate.
    • VDD1 OPP can be scaled (if silicon supports) upto 720MHz.
    • When OPP1 is selected for VDD1, the VDD2 is set at OPP2.
    • Basic implementation for cpufreq.
  • Support SmartReflex with automatic (hardware-controlled) mode of operation.

Features not supported[edit]

  1. Allow drivers and applications to limit the idle state that can be entered.
  2. Support for SmartReflex with manual (software-controlled) mode of operation.

Constraints[edit]

  1. Only basic implementation of cpufreq is supported.
  2. Some of the drivers do not leverage the power-saving features supported by the silicon. They need to enable/ disable corresponding clocks via clk_enable() and clock_disable() only when the clocks are really needed.
  3. After the system is suspended, the resume operation does not succeed from the touchscreen.

Power Measurements[edit]

The measurements in this section were done on OMAP3EVM (Rev G) with NI-USB 6251 and TI power consumption tool.

  • The measurements were done at identified system state for period of ~60 secs.
  • Voltage and current values for VDD1 and VDD2 are measured across jumpers J6 and J5 respectively.
  • SmartReflex is enabled in the kernel configuration; but is not activated at runtime.

Specific scenarios associated with the measurement are indicated in the details below.

NOTE
A ramdisk image based on minimal busybox configuration is used during these measurements. Actual numbers may vary with daemons and processes running (configured in the filesystem).

At each OPP[edit]

OMAP35x[edit]

This table indicates the voltages measured for VDD1 and VDD2 at various OPPs (selected via bootarg - mpurate). The measurements were done with the uImage created using omap3_evm_defconfig.

Power Measurements
OPP VDD1 VDD2
Voltage
(Volts)
Current
(in mA)
Voltage
(Volts)
Current
(in mA)
OPP1 1.004 3.351 1.071 6.432
OPP2 1.098 7.064 1.181 11.851
OPP3 1.201 15.399 1.181 11.864
OPP4 1.272 17.996 1.181 11.878
OPP5 1.342 20.821 1.180 11.889
OPP6 1.337 24.829 1.180 11.894

AM/DM37x[edit]

NOTE
This is EA (Early Adopter) release for AM/DM37x. Therefore, no measurements were done for this release.

Against specific scenarios[edit]

Scenario 1[edit]

  1. Build uImage with power management disabled and dynamic tick disabled.
  2. Boot the EVM with this uImage and ramdisk.

Scenario 2[edit]

  1. Build uImage with power management disabled but dynamic tick enabled.
  2. Boot the EVM with this uImage and ramdisk

Scenario 3[edit]

  1. Build uImage with power management, power management debug, DebugFS and dynamic tick enabled; but no cpuidle.
  2. Boot the EVM with this uImage and ramdisk.
  3. After boot-up, mount debugfs
    $ mkdir /debug
    $ mount -t debugfs debugfs /debug
  4. Execute these commands:
    $ echo 1 > /debug/pm_debug/sleep_while_idle
  5. Wait for 30 secs and start the measurement.

Scenario 4[edit]

  1. Build uImage with power management, power management debug, DebugFS, dynamic tick and cpuidle enabled.
  2. Boot the EVM with this uImage and ramdisk.
  3. After boot-up, mount debugfs
    $ mkdir /debug
    $ mount -t debugfs debugfs /debug
  4. Execute these commands:
    $ echo 1 > /debug/pm_debug/sleep_while_idle
  5. Wait for 30 secs and start the measurement.

Scenario 5[edit]

  1. Build uImage with power management, power management debug, DebugFS, dynamic tick and cpuidle enabled.
  2. Boot the EVM with this uImage and ramdisk.
  3. After boot-up, mount debugfs
    $ mkdir /debug
    $ mount -t debugfs debugfs /debug
  4. Execute these commands:
    $ echo 1 > /debug/pm_debug/sleep_while_idle
    $ echo 1 > /debug/pm_debug/enable_off_mode
  5. Wait for 30 secs and start the measurement.

Measurements for OMAP35x[edit]

Power Measurements
Scenario Voltage
(Volts)
Current
(in mA)
Scenario 1 1.207 9.166
Scenario 2 1.207 9.167
Scenario 3 1.369 0.231
Scenario 4 1.369 0.230
Scenario 5 1.371 0.140

NOTE 1
For scenarios 1 and 2 the voltage doesn't scale to required level (~1.34V) as power management is disabled.

NOTE 2
For scenarios 3, 4 and 5 the voltage scales to required level (~1.34V) as power management is enabled.

NOTE 3
SDOCM00066405 identifies a known issue where the kernel doesn't build when CONFIG_PM is disabled. The measurements for scenario 1 and 2 were taken after fixing the issue.

Measurements for AM/DM37x[edit]

NOTE
This is EA (Early Adopter) release for AM/DM37x. Therefore, no measurements were done for this release.

CAN(HECC) Driver[edit]

This section provides details on CAN(HECC) driver.

Introduction[edit]

The CAN (HECC) driver supports the Linux netdev interface. CAN driver supports TX and RX mailbox priority feature ensuring in-order packet processing at various bit rates.

Driver Features[edit]

The driver supports the following features:

  1. SocketCAN networking framework
  2. Linux NAPI support for Rx operations
  3. Local loopback of sent frames (IFF_ECHO)
  4. Standard CAN bus bit-rates namely 10K, 20K, 50K, 100K, 125K, 250K, 500K & 1M

Features Not Supported[edit]

  1. ID filtering / Acceptance masks - since Linux infrastructure does not support this the driver cannot provide the feature

Constraints[edit]

NA

Supported System Calls[edit]

Supports the socket() and related system calls in accordance with Linux architecture. Refer to can.txt under Documentation/networking folder

Performance and Benchmarks[edit]

NA

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 AM35x-OMAP35x-PSP 03.00.00.04 DataSheet 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 AM35x-OMAP35x-PSP 03.00.00.04 DataSheet here.

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