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.

DM816x AM389x PSP 04.00.01.13 Feature Performance Guide

From Texas Instruments Wiki
Jump to: navigation, search
TIBanner.png
DM816x AM389x 04.00.01.13 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.00.01.13 release 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]

All performance numbers provided in this document are gathered using DM8168 EVM with DDR3 configured at 800 MHz clock (effective 1600MHz data rate).

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 DM8168/C6A8168/AM389x EVM (Base board with daughter card required for second Ethernet port and NOR). 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 DM8168 EVM.

If You Need Assistance[edit]

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

U-Boot[edit]

Hardware Related Info[edit]

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 and OCMC1 U-Boot initially runs out of OCMC1 and then relocates to DDR. OCMC0 is used by ROM code and by U-Boot in case of NOR boot.
Control module NA Needs to be enabled prior to enabling other modules.
Main PLL clocks Clocks 1-5 Clock1 ~= 800MHz, Clock2 ~= 1GHz, Clock3 ~= 600MHz, Clock4 ~= 500 MHz, Clock5 ~= 125MHz
DDR PLL clocks Clocks 1-3 Clock1 ~= 800MHz, Clock2 ~= 48MHz, Clock3 ~= 400MHz
UART UARTs 0-2 On Base EVMs, UART2 is used as console by U-Boot and later by the kernel
Timers Timer1 Used by U-Boot for timekeeping purposes
RAM Both the EMIFs Configuration done differs based on the type of memory on the EVM (DDR2 or DDR3)
I2C I2C0
eFuse Customer_eFuse Module enabled.
GPIO GPIO0 Module enabled.
SPI
Module enabled.
CPGMAC CPGMAC0 and CPGMAC1 Base EVM has 1 Ethernet port associated to CPGMAC0. Please refer module specific documentation and respective release details for CPGMAC1 usage.
NAND Whole Base EVM has 256MiB NAND. Mutually exclusive with NOR.
NOR Whole Not available on Base EVM. Mutually exclusive with NAND.
MMC/SD MMC/SD Enabled as a part of the boot process

Linux Kernel[edit]

Module/Subsystem Usage[edit]

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., CPGMAC0), 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 YES
GPIO1 NO NO YES
EMIF0 & 1 NO YES KEEP
UART0 BOOTCFG YES CONFIG
UART1 NO YES CONFIG
UART2 NO YES CONFIG
Timer1 NO YES YES
Timer2 NO NO YES
Timer3 NO NO NO
Timer4 NO NO CONFIG
Timer5 to 7 NO NO NO
GPMC BOOTCFG YES CONFIG
EDMA TPCC NO NO YES
EDMA TPTC NO NO YES
SPI BOOTCFG YES KEEP
I2C0 NO YES CONFIG
I2C1 NO NO NO
CPGMAC0 BOOTCFG YES CONFIG
CPGMAC1 NO NO NO
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
Spinbox NO NO CONFIG
Mailbox NO NO CONFIG
HDMI NO NO NO
McASP0 NO NO CONFIG
McASP1 NO NO NO
McASP2 NO NO NO
McBSP NO NO NO
MMC BOOTCFG YES CONFIG

Hardware Resources Reserved for Kernel[edit]

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, GPIO, Timers, etc. - but the control should still remain with kernel and only kernel APIs should be called to reserve and use these resources. For modules having multiple instances, numbering is assumed to be from '0'.

Resource Specifics Notes
UART

UART0, UART2

This is configurable through kernel command line ('bootargs') and is board dependent. On Base EVMs, UART2 is used as console. With daughter card, UART0 can be used for console.
Timers

Timer1, Timer2, Timer6

Timer1 - System Timer, Timer2 - Free Running, Timer6 - Graphics (SGX)
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 example and also the Kernel Virtual Memory Layout section below.
I2C I2C0 Though I2C1 control from kernel is not supported, it is possible to add this support by editing arch/arm/plat-omap/i2c.c and arch/arm/mach-omap2/board-ti8168evm.c for 'Bus 2'
GPIO GPIO0 & GPIO1 Total 64 GPIO lines
CPGMAC CPGMAC0, CPGMAC1 Base EVM has 1 Ethernet port associated to CPGMAC0. Please refer module specific documentation and respective release details for CPGMAC1 usage.
NAND Whole Base EVM has 256MiB NAND. Mutually exclusive with NOR.
NOR Whole Not available on Base EVM. Available in daughter card (64MiB). Mutually exclusive with NAND.
EDMA

4 to 47,

52 to 54

Peripheral Only: 4 to 31, 52 to 54

Mem to Mem: 32 to 47

OCMC0

0x40300000 - 0x4033FFFF

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.
OCMC1

0x40400000 - 0x4043FFFF

OCMC 1 will be used by ROM Code and U-boot. Once Linux kernel boots, OCMC0 is free and kernel can use it.
PCIe Memory

0x20000000 -

0x2FFFFFFF

PCIe Window for outbound access (RC mode)
PCIe I/O

0x40000000 -

0x402FFFFF

PCIe I/O window (RC mode)


Kernel Virtual Memory Layout[edit]

The default DM816x kernel configuration, with "mem=200M" passed as boot argument, uses following Virtual Memory layout:

Note: Around 50MB of RAM is reserved for FB driver by default hence you see total memory as 150MB when passing 'mem=200M'.

Memory: 150MB = 150MB total
Memory: 146540k/146540k available, 58260k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xcd000000 - 0xf8000000   ( 688 MB)
    lowmem  : 0xc0000000 - 0xcc800000   ( 200 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .init : 0xc0008000 - 0xc0039000   ( 196 kB)
      .text : 0xc0039000 - 0xc0498000   (4476 kB)
      .data : 0xc0498000 - 0xc04def80   ( 284 kB)

Please note following points:

  • Default kernel build is set up with 3G/1G split for User/Kernel space. In addition, "High Memory" support in kernel (CONFIG_HIGHMEM) is enabled by default to accommodate larger physical memory/address space. Please refer HIGHMEM section below.
  • It should be possible to allow larger direct mapped 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 - particularly some applications may fail.

Memory Holes Configuration[edit]

It is possible to indicate the kernel that the usable RAM is spanned across holes in between. This is achieved from passing multiple "mem=<size>@<start-address>" arguments to kernel.

CAUTION: Even when passing memory with holes, the kernel reserves contiguous space incorporating the whole memory passed through all 'mem' arguments. This means, the actual lomem mapped will be more than the total size of all memory arguments combined together.

Some examples indicating above constraint and impact follow:

  • mem=128M mem=128M@0xA0000000
    • Total direct mappable RAM space lost here is 0x80000000 to 0xa0000000 + 128M = ~768MB, vmalloc space available 120MB
  • mem=128M mem=324M@0x9F900000
    • Total direct mappable RAM space lost here is 0x80000000 to 0x9F900000 + 324M = ~829MB
  • mem=364M@0x80000000 mem=324M@0x9F900000
    • Total direct mappable RAM space lost here is 0x80000000 to 0xa0000000 + 324M = ~829MB
  • In the later 2 cases above, the RAM direct mapped space is divided as 768 MB from actual required ~829MB with remaining designated as highmem (see below section) to be able to accommodate 120MB minimum vmalloc space.
    • This also means ~60MB RAM towards the end of the of the second partition is not used if CONFIG_HIGHMEM is disabled.

To summarize, in all of the above cases, the default vmalloc space available will be 120MB max (further reduced as in built drivers/modules will have some regions mapped from vmalloc region on bootup) and passing vmalloc=<size> can be used to increase the vmalloc region (which will result into part of RAM being used as highmem or truncated and unusable depending upon CONFIG_HIGHMEM is enabled or disabled respectively).

HIGHMEM[edit]

The default kernel configuration in this release has HIGHMEM support enabled. This means the address space above the directly mapped in kernel space can be accessed by creating run time non-permanent mappings.

Without HIGHMEM support, the vmalloc and lowmem sizes are dependent - on RAM available to kernel (as specified by 'mem=<size-in-MB>M' boot argument) and vmalloc size required - restricted by the amound of space that can be directly mapped into kernel. As you provide more memory for kernel to map, the vmalloc space will be lowered. Vice versa is true when vmalloc region is changed by passing 'vmalloc=<size-in-MB>M' argument.

Furthermore, RAM size more that 768M will be truncated to maintain minimum vmalloc at 120MB.

Using HIGHMEM support in kernel addresses these restrictions. Some examples follow (note all of the examples assume ~50MB reserved for FB at boot time):

E.g. 1 Consider the case where usable RAM for kernel is 1GB (mem=1G)

In this case, the total directly mapped RAM will be 768MB with vmalloc size maintained as 120MB. While the rest of the RAM (~210MB) will be available as highmem.

Here, if CONFIG_HIGHMEM is disabled, the RAM size will be truncated to 768MB and rest of the RAM will be unusable.

E.g. 2 Consider the case where usable RAM for kernel is 1GB (mem=1G) and vmalloc region set to 500MB (vmalloc=500M)

In this case, the total directly mapped RAM will be 396MB with vmalloc size maintained as 496MB. While the rest of the RAM (~591MB) will be available as highmem.

Here, if CONFIG_HIGHMEM is disabled, the RAM size will be truncated to 396MB and rest of the RAM will be unusable.

Note 1: HIGHMEM is labelled as EXPERIMENTAL feature and may have performance impact if not used carefully - e.g., on a system where most of the memory used lies in highmem region causing run time mapping creation.
Note 2: Though HIGHMEM configuration is enabled by default, the mapping for highmem will only be created on need basis and in case where total space comprising of specified RAM, vmalloc and memory holes (see the section on Memory Holes Configuration) exceeds directly mappable space (that is, 888MB).

Boot-time measurement[edit]

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
  • PCI/PCIe Subsystem (Root Complex mode)
  • SATA drivers
  • Network device support
  • I2C support
  • SPI support
  • GPIO support
  • WDT support
  • Sound card support
  • HID devices
  • USB support
  • MMC/SD/SDIO support
  • AVS driver
  • Loadable module support
  • Filesystem support for ext2, ext3, JFFS2 and NFS

The following was the kernel command line passed

 console=ttyO2,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 ~7.70 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) :3.84 secs
  • Reading the 2.3MB uImage from SD card : 2.71 secs
  • Misc time in U-Boot : 1.15 secs

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.

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

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.


TI816X Linux PSP Supported Boot Modes
Boot Mode DM8168 EVM with daughter card
NAND Flash Yes
NOR Flash Yes
SPI EEPROM Yes
SD Yes
EMAC Boot Yes (MACID blown processors required to verify this mode)
PCIe Boot Yes (Currently tested only with booting from DM8168/DM8148 RC or a x86 PC)


Device driver list[edit]

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/1000 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
Video Display Video Display Driver Frame-buffer display driver
SATA Storage Block Device
NOR Flash Storage system MTD character and Block
PCI Express PCIe Root Complex Driver PCI/PCIe Bus Driver
PCI Express PCIe EP Boot Driver Character
MMC/SD Interface to MultiMedia Secure Digital cards Block Device
AVS Adaptive voltage scaling Power Management driver
Watchdog Interface to h/w Watchdog /dev/watchdog

Driver DMA usage[edit]

TI816x peripheral driver DMA usage
Driver DMA usage
Audio (McASP) EDMA
Ethernet Internal DMA
MUSB Host Internal DMA
NAND Flash None
NOR Flash None
UART None
I2C None
SATA Internal DMA
SPI None
MMC/SD EDMA
PCIe RC None (Individual EPs may use Inbound DMA)
PCIe EP None
AVS None

SATA Driver[edit]

SATA controller is AHCI Ver.1.1 spec compliant . It supports SATA1 (150MBps) and SATA 2 (300MBps) speeds. Port Multiplier support is available in the SATA controller. The controller can support drives upto UDMA-133 speeds. Please refer PSP SATA FAQ for more information.

Driver Features[edit]

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 support

[Linux Libata feature table] for more details.

Features Not Supported[edit]

  • Power Management : Though supported, validation is still pending.

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]

Please read the SATA Test Setup section before proceeding.

Test Parameters[edit]

Test Parameters
Silicon Revision 2.0
EVM
DM816x EVM Revision H
DDR
DDR3, 1600 Mhz data rate (796Mhz clock)
LFTB version 02.00.00.04
Number of SATA Ports
2
Port 0 - HDD

WDC WD1002FAEX

(used with 3Gbps Jumper)

Port 1 - HDD

WDC WD1002FAEX


(used with 3Gbps Jumper)

Performance Data[edit]

Below tables were filled by running the performance test suite mentioned in SATA Test Setup section.

SATA - ext2 File System Performance[edit]

SATA - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 98.86 33.96
256 100 97.09 34.26
512 100 107.12 37.11
1024 100 98.00 35.51
5120 100 100.14 36.19


SATA - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 136.40 55.26
256 100 127.87 50.00
512 100 134.43 48.72
1024 100 126.54 43.37
5120 100 132.26 43.04


SATA - vfat File System Performance[edit]

SATA - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 68.87 49.67
256 100 70.59 48.32
512 100 71.39 47.26
1024 100 68.27 47.06
5120 100 69.80 48.00


SATA - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 126.73 51.22
256 100 127.93 47.56
512 100 127.93 51.22
1024 100 130.58 48.10
5120 100 125.63 54.88


SATA Simultaneous - ext2 File System Performance[edit]

NOTE: Simultaneous SATA performance numbers are taken by running LFTB on two ports simultaneaoulsy and the average is captured in the table below.

SATA - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)

Transfer Rate (in MBytes/sec)

Port 0 / Port 1

CPU Load (in %)

Port 0 / Port 1

100 768 107.39 / 94.68
86.40 / 75.68
1024 768 105.13 / 98.15
86.55 / 78.68


SATA - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes)

Transfer Rate (in MBytes/sec)

Port 0 / Port 1

CPU Load (in %)

Port 0 / Port 1

100 100 100.66 / 104.88
96.39 / 98.70
1024 100 107.93 / 108.05
96.27 / 96.25


ALSA SoC Audio Driver[edit]

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

The driver supports the following features:

  1. Supports AIC3106 audio codec (on DM8168 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[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 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[edit]

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

Supported IOCTLs[edit]

NA

Performance and Benchmarks[edit]

Test setup:

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


Audio capture
Sampling Rate (in Hz) Duration (in secs) Bitrate (in bits/sec) CPU Load (in %)
8000 327.69 255991 0.18
11025 237.78 352787 0.22
16000 163.85 511982 0.34
22050 118.89 705575 0.45
24000 118.89 705575 0.45
32000 81.93 1023963 0.94
44100 59.45 1411148 1.3
48000 54.62 1525943 1.47
88200 29.72 2822296 2.5
96000 27.31 3071885 2.35


Audio playback
Sampling Rate (in Hz) Duration (in secs) Bitrate (in bits/sec) CPU Load (in %)
8000 327.69 256094 0.14
11025 237.68 352930 0.17
16000 163.78 512188 0.26
22050 118.84 705859 0.36
24000 118.84 705859 0.34
32000 81.88 1024376 0.73
44100 59.42 1411718 0.96
48000 54.6 1536564 1.12
88200 29.72 2823432 2.1
96000 27.3 3073123 2.88

ALSA SoC HDMI Audio Driver[edit]

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

Driver Features[edit]

The driver supports the following features:

  1. Supports HDMI audio codec on TI816x in ALSA SoC framework.
  2. Multiple sample rates support (32KHz, 44.1KHz, 48KHz, 96KHz and 192KHz )playback.
  3. Supports audio 16bit and 24bit (S16_LE ,S24_LE) audio format.
  4. Supports audio in stereo mode.
  5. Supports all audio mode in 1080P@60,1080I@60,720P@60 and 1080P@30 video modes

Constraints[edit]

  1. HDMI Audio sampling rate support is based on the Video resolution in use.
  2. Restart the audio while changing the video resolution.
  3. The audio driver does not allow opening the same stream (playback) multiple times.

Supported System Calls[edit]

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

Supported IOCTLs[edit]

NA

Performance and Benchmarks[edit]

Test setup:

  1. Access type - RW_INTERLEAVED
  2. Channels - 2
  3. Format - S16_LE
  4. Period size - 64
Audio playback
Sampling Rate (in Hz) Duration (in secs) Bitrate (in bits/sec) CPU Load (in %)
32000 81.88 1024513 1.59
44100 59.41 1411907 2.18
48000 54.59 1536769 2.37
96000 27.29 3073534 6.72
192000 13.65 6147076 14.2

Ethernet Driver[edit]

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

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. Full duplex and half duplex mode of operation.
  6. Linux NAPI support
  7. Support for HW interrupt pacing using ethtool interface

Features Not Supported[edit]

Constraints[edit]

NA

Supported System Calls[edit]

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

Performance and Benchmarks[edit]

Ethernet Port0 TCP - 1Gbps Mode Rx Performance
TCP Window Size
(in KBytes)
Bandwidth - No Pacing
(in Mbits/sec)
CPU Load (in %) Bandwidth - With Interrupt Pacing
(in Mbits/sec)
CPU Load (in %)
16 527 87 605 73
32 540 88 635 67
64 585 94 632 68
128 578 94 626 69
256 575 95 621 68


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"
  • Interrupt pacing feature enabled with pacing interval set to 500usecs (# ethtool -C eth0 rx-usecs 500)
  • 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).
  • ARM running at 1Ghz and DDR3@800Mhz


Ethernet Port0 TCP - 1Gbps Mode Tx Performance
TCP Window Size
(in KBytes)
Bandwidth - No Pacing
(in Mbits/sec)
CPU Load (in %) Bandwidth - With Interrupt Pacing
(in Mbits/sec)
CPU Load (in %)
16 532 100 492 46
32 534 100 740 84
64 527 100 795 92
128 536 100 794 100
256 533 100 793 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"
  • Interrupt pacing feature enabled with pacing interval set to 500usecs (# ethtool -C eth0 rx-usecs 500)
  • 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).
  • ARM running at 1Ghz and DDR3@800Mhz


NAND Driver[edit]

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

The driver supports the following features:

  1. JFFS2 file system
  2. Supports Read/Write, Erase operations
  3. Bad Block Management
  4. Prefetch mode of transfer (enabled by default)
  5. SLC NAND

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]

Please refer MTD Test Setup before proceeding.

NAND Read Performance[edit]

  • 2.34 MBytes/sec (8-bit NAND)
  • 4.06 MBytes/sec (16-bit NAND)

NAND Write Performance[edit]

  • 1.11 MBytes/sec (8-bit NAND)
  • 1.83 MBytes/sec (16-bit NAND)

NOTE: The filesystem performance tests are obtained by carrying out raw read/write tests:

For eg:

# flash_eraseall /dev/mtdX    ('X' is the partition number)
# cd /dev/shm
# dd if=/dev/zero of=40MB bs=1M count=40
# time nandwrite -q -p /dev/mtdX /dev/shm/40MB    (to obtain write speed)
# rm 40MB
# time nanddump -f /dev/shm/40MB -l 41943040 /dev/mtdX    (to obtain read speed)

PCIe RC Driver[edit]

This section provides an overview of the PCIe Root Complex (RC) driver features along with throughput and CPU load numbers when using PCIe Gigabit Ethernet card as Endpoint (EP). For the architecture, installation, basic usage, please refer to the PCI Express Root Complex Driver User Guide.

Driver Features[edit]

The driver supports the following features:

  1. Fits into Linux PCI Bus framework to provide PCI compatible software enumeration support
  2. In addition, provides interface to Endpoint Drivers to access the respective devices detected downstream.
  3. The same interface can be used by the PCI Express Port Bus Driver framework in Linux to perform AER, ASP etc handling
  4. Interrupt handling facility for EP drivers as MSI interrupts or Legacy Interrupts (INTx).
  5. Seamless handling of PCIe errors

Features Not Supported[edit]

  1. PCIe I/O access
  2. Port Bus Driver integration
  3. 64-bit PCIe addressing.

Constraints[edit]

NA

Supported System Calls[edit]

None. Access to individual PCIe EPs may be provided by respective drivers.

Performance and Benchmarks[edit]

Setup[edit]

  • DM8168 PG2.0 EVM (Rev H) with DDR3 @800MHz clock set up as Root Complex (referred as DUT)
  • NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01) card with x1 link connected in PCIe slot on EVM
  • Ethernet port on x86 PC Host running Linux is used to connect to PCIe EP Ethernet port
  • Both Host and DUT have iperf version 2.0.4 (7 Apr 2008) installed

Execution[edit]

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

  • On PC Host iperf was invoked in server mode  : "-s" - window size default of 85.3KB. E.g.,
# iperf -B 192.168.0.1 -s
  • On the DUT iperf is invoked in the client mode (TX)  : "-c <server ip> -w <window size> -t60". E.g.,
# iperf -c 192.168.0.1 -w 16KB -t60
  • The transfers are measured over a duration of 60Secs
  • Cross cable is used to measure performance.
  • Speed is set to 1000Mbps
  • On-chip Ethernet ports (Port0 and Port1) disabled (not brought up).
  • Filesystem was mounted in NAND (JFFS2).
PCIe Ethernet TCP - 1Gbps Mode Performance
TCP Window Size
(in KBytes)
Bandwidth - DM816x
(in Mbits/sec)
TransferSize - DM816x
(in GBytes)
CPU Load (in %)
16 704 4.92 34
32 836 5.84 63
64 854 5.97 62
128 858 6 61
256 862 6.02 63

Observations[edit]

  • PCIe Gigabit Ethernet Card used supported GEN1 speeds with x1 link.
  • The lower CPU usage may be attributed to the PCIe Ethernet Card supporting features such as hardware offloading and checksum calculations.


PCIe EP Boot Driver[edit]

This section provides an overview of the PCIe Endpoint (EP) Boot driver features. For the architecture, installation, basic usage, please refer to the PCI Express Endpoint Boot Driver User Guide.

Driver Features[edit]

The driver supports the following features:

  1. Provides character device interface to boot application for booting DM816x/DM814x PCIe Endpoint
  2. Provide mmap support to enable the boot application to copy image files (U-Boot, kernel etc) to EP memory
  3. Can be built as loadable module or into kernel

Features Not Supported[edit]

  1. Operate more than one DM816x/DM814x EP. If more than one DM816x/DM814x EPs are connected in the system, this driver operates only on the first detected with DM816x given preference.
  2. No interrupt support
  3. Not validated on any other RC than DM816x, DM814x or x86 PC. E.g., this driver may require some porting to build on Linux PPC kernel.

Constraints[edit]

NA

Supported System Calls[edit]

Character device interface through open(), ioctl(), close() and mmap() system calls.


NOR Driver[edit]

This section provides an overview of the NOR 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[edit]

The driver supports the following features:

  1. JFFS2 file system
  2. Supports Read/Write, Erase operations
  3. Support all CFI compatible NOR flash devices

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]

Please refer MTD Test Setup before proceeding.

NOR Raw Read Performance
[edit]

  • 2.23 MBytes/sec
  • Command used: "time mtd_debug read /dev/mtd3 0 41943040 /dev/shm/40MB". This command reads 40 MBytes of data from partition 3 and measure the time using "time" command.

NOR Raw Write Performance[edit]

  • 206.8 KBytes/sec
  • Command used: "time flashcp /dev/shm/40MB /dev/mtd3". This command writes 40 MBytes of data to partition 3 and measure the time using "time" command. This command assumes that /dev/shm/40MB file is already available.

NOR JFFS2 Performance[edit]

NoteNote: LFTB has been used after making the following changes

  • Create a 35MB file with Random data. This is required as JFFS2 uses compression.
  dd if=/dev/urandom of=/dev/shm/35MB_file.bin  bs=1M count=40
  • Run the following command from mtd_test_suite folder (mtd_test_suite/scripts/common)
  ./mtd_tests_script.sh  -device_type nor -plat ti816x -type perf -partition_number 3 -fs_type jffs2  -size  35  -erase_size 120000 -file_name /dev/shm/35MB_file.bin
Buffer Size in Bytes 8192 16384 102400 256000 512000 1048576 5242830
NOR Write (MBytes/sec) 0.165838 0.166351 0.165816 0.164102 0.165478 0.166053 0.166174
NOR Read (MBytes/sec) 1.938562 1.960727 1.915370 1.891688 1.888052 1.966688 1.892966

USB Driver[edit]

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

MUSB OTG controller[edit]

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

Driver Features[edit]

The driver supports the following features

Host Mode

Host Mode Feature DM816x PG1.X DM816x PG2.0
HUB class support No Yes
Human Interface Class (HID) Yes Yes
Mass Storage Class (MSC) Yes Yes
USB Video Class (UVC) Yes Yes
USB Audio Class (UAC) Yes Yes
USB CDC Host Yes Yes

Features supported in gadget mode[edit]

Gadget Mode Feature DM816x
Mass Storage Class (MSC) Yes
USB Networking - RNDIS Yes
USB Networking - CDC Yes

The driver supports the following features for Dual host/gadget (DM816X)[edit]

Dual Mode Feature DM816x
USB0 as host, USB1 as gadget Yes
USB0 as gadget, USB1 as host Yes
USB0 as host, USB1 as host Yes

USB Mass Storage Class Host Driver[edit]

Driver Features[edit]

The driver supports the following feature

1.DMA mode

2.PIO mode

None

Constraint[edit]

Supported System Calls[edit]

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

Supported IOCTLS[edit]

None

Performance Benchmarks (DMA mode)[edit]

       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.

For Test setup details refer to usb-host-msc test setup

USB - ext2 File System Performance[edit]
USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 22 10.40
256 100 23.1 10
512 100 22.9 10.2
1024 100 22.4 10.8
5120 100 23.13 10


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 25.8 14.3
256 100 25.4 8.4
512 100 25.15 6.6
1024 100 25.5 9.1
5120 100 25.5 6.5


USB - vfat File System Performance[edit]
USB - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 21.1 23.6
256 100 21.6 22.3
512 100 21.5 22.3
1024 100 21.0 22.3
5120 100 20.8 22.5


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 23.1 12.7
256 100 22.83 16.6
512 100 22.8 14.7
1024 100 23.7 14.1
5120 100 23.23 20.9


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[edit]
       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 19.94 45.21
256 100 20.1 43.99
512 100 20.1 45.2
1024 100 19.4 42.51
5120 100 19.4 42.54


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 20.4 49.61
256 100 22.0 52.4
512 100 21.8 48.55
1024 100 23.3 31.61
5120 100 22.01 49.38


USB - VFAT, File System Performance on simulataneous read/write on two HDD[edit]
       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 18.06 48.75
256 100 18.69 53.39
512 100 17.6 55.07
1024 100 18.2 53.24
5120 100 18.58 52.58


USB - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 20.4 52.61
256 100 20.4 48.84
512 100 20.16 50.19
1024 100 20.3 48.46
5120 100 18.98 49.28



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 SATA HDD 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]

    The performance numbers are captured in DMA Mode using SATA HDD as file storage 
   gadget media exposing as removable media to windows-xp over USB. The SATA HDD is 
   formatted using the NTFS on windows-xp.
   #SATA HDD used - Western Digital 500GB drive
    While insert g_file_storage.ko use the module parameter buflen set to 65536
   # insmod g_file_storage.ko file=/dev/sda buflen=65536 stall=0 removable=1

For test setup details refer to msc-device setup

USB Slave- DMA Write Performance values (Host:Windows-xp)
Bytes Transferred (MB)'SATA HDD'as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec) on Windows XP Transfer Rate (MB/sec) on Linux PC
500 1 500 17.7 25


USB Slave- DMA Read Performance values (Host:Windows-xp)
Bytes Transferred (MB)'SATA HDD'as storage device Number of files transferred Total Bytes transferred (MB) Transfer Rate (MB/sec) on Windows XP Transfer Rate (MB/sec) on Linux PC
500 1 500 25.0 28


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.


USB RNDIS-DMA Performance[edit]
    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

For test setup details refer cdc-rndis setup

USB RNDIS-DMA Performance values - Client
TCP Window Size(in KBytes) Interval (in Seconds) Bandwidth (Mbits/Sec)
16 60 122
32 60 123
64 60 126
128 60 125


USB(HIGHSPEED)CDC-DMA Performance[edit]
USB CDC-DMA Performance values - Client
TCP Window Size(in KBytes) Interval (in Seconds) Bandwidth (Mbits/Sec)
16 60 243
32 60 127
64 60 246
128 60 248



Performance Benchmarks[edit]


MMC/SD Driver[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.

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. MMC/SD card hot insertion and removal

Features Not Supported[edit]

  1. 1-bit, 8-bit modes 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.

Please refer MMC/SD Test Setup before proceeding.

EXT2 file system[edit]

SD - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 8.549238
4.47
256 100 8.124049 3.79
512 100 7.743165
3.99
1024 100 8.309263 5.13
5120 100 8.815006 4.27


SD - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 18.168959 14.83
256 100 18.184605 11.92
512 100 18.166695 15.15
1024 100 18.202099
13.97
5120 100 18.160126 12.05


The performance numbers were captured using the following:

  • SD Card (Sandisk Extreme, SDHC, Class 10, 4GB)
  • File System: ext2
  • Partition was mounted with async option

VFAT file system[edit]

SD - Write Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 8.402772 8.07
256 100 9.284886 8.99
512 100 9.025873 8.40
1024 100 9.221353 8.06
5120 100 8.776981 8.26


SD - Read Performance values
Buffer Size (in KBytes) Total Bytes Transferred (in MBytes) Transfer Rate (in MBytes/sec) CPU Load (in %)
100 100 17.607521 12.35
256 100 17.598530 11.50
512 100 17.606703 12.19
1024 100 17.603380 11.83
5120 100 17.588163 12.69


The performance numbers were captured using the following:

  • SD Card (Sandisk Extreme, SDHC, Class 10, 4GB)
  • File System: vfat
  • Partition was mounted with async option


[edit]

Video Display Driver[edit]

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

Description[edit]

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


Driver Featurs[edit]

  1. Support 1080p-60/1080p-50/1080P-30/1080I-60/1080I-50/720P-60/720P-50 mode display through HDMI VENC
  2. Support 1080p-60/1080p-50/1080P-30/1080I-60/1080I-50/720P-60/720P-50 mode display through HDCOMP VENC
  3. Support Tied VENCs (single graphics plance splitted into multiples VENCs)
  4. Support mux multiple graphics planes into single VENC
  5. Support Video PLL configuration
  6. Support Venc Clock source configuration
  7. Support Venc output configuraiton(digital data format, sync format, analog output format)
  8. Support reshuffling display order
  9. Support customized timing configuraiton for DVO1/DVO2/HDCOMP output
  10. Support in-chip HDMI together with HDMI Kernel Driver.

Features Not Supports[edit]

  1. EVM SVIDEO output is not supported
  2. RF output is not supported
  3. EVM VGA output is not supported

Constrains[edit]

  1. All tied VENCs should have same timing

Fbdev Driver[edit]

Frame-buffer Display Driver.

Driver Features[edit]

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

  1. Rotation is not supported.
  2. Mirroring is not supported.
  3. Mode Timing is not supported


Constrains[edit]

None

Supported System Calls[edit]

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

Performance Benchmarks[edit]


Please check HDVPSS Feature Performance Guide here  

Default Clock configuration[edit]

Following are the configuration of clocks and their usecount immediately after the kernel booted up. The clock rates are either configured in the u-boot or kernel during init or as part of a driver initialization. The usecount reflects the number of times the clock has been enabled or one of it's child clocks are enabled in kernel init or by drivers but does not reflect enable requests done in uboot.

PG 2.0[edit]

Clock Rates[edit]

./secure_32k_ck/rate ==> 32768
./tclkin_ck/rate ==> 32768
./audio_pll_clk1_ck/audio_pll_a_ck/rate ==> 32768
./audio_pll_clk1_ck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpt3_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpt4_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpt5_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpt6_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpt7_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/wdt2_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpio1_dbck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/gpio2_dbck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/mmchsdb1_fck/rate ==> 32768
./sys_32k_ck/sysclk18_ck/rate ==> 32768
./sys_32k_ck/rate ==> 32768
./sys_clkin_ck/main_pll_clk6_ck/rate ==> 24000000
./sys_clkin_ck/main_pll_clk1_ck/sysclk1_ck/gem_ick/rate ==> 813176470
./sys_clkin_ck/main_pll_clk1_ck/sysclk1_ck/rate ==> 813176470
./sys_clkin_ck/main_pll_clk1_ck/rate ==> 813176470
./sys_clkin_ck/main_pll_clk2_ck/sysclk2_ck/mpu_ck/rate ==> 987428571
./sys_clkin_ck/main_pll_clk2_ck/sysclk2_ck/rate ==> 987428571
./sys_clkin_ck/main_pll_clk2_ck/sysclk23_ck/sgx_ck/rate ==> 246857142
./sys_clkin_ck/main_pll_clk2_ck/sysclk23_ck/rate ==> 246857142
./sys_clkin_ck/main_pll_clk2_ck/rate ==> 987428571
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd0_ck/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd0_sl2_ick/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd1_ck/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd1_sl2_ick/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd2_ck/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd2_sl2_ick/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/rate ==> 531692931
./sys_clkin_ck/main_pll_clk3_ck/rate ==> 531692931
./sys_clkin_ck/ddr_pll_clk1_ck/rate ==> 796500000
./sys_clkin_ck/ddr_pll_clk3_ck/rate ==> 398250000
./sys_clkin_ck/ddr_pll_clk4_ck/rate ==> 227571428
./sys_clkin_ck/ddr_pll_clk5_ck/rate ==> 227571428
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/mmu_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/ducati_ucache_ick/rate ==>
493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tpcc_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc0_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc1_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc2_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc3_ick/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/pcie_ck/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/sata_ick/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/emac1_ick/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/emac2_ick/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/ducati_ick/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/gem_trc_fck/rate ==>
246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/rate ==> 246857277
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mmu_cfg_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mailbox_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/spinbox_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gem_vbusp_fck/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart2_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart3_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mcspi1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/wdt2_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt2_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt3_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt4_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt5_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt6_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt7_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpio1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpio2_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/i2c1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/i2c2_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mmchs1_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/sr_hvt_fck/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/sr_svt_fck/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/usb_ick/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpmc_fck/rate ==>
123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/rate ==> 123428638
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/rate ==> 493714554
./sys_clkin_ck/main_pll_clk4_ck/rate ==> 493714554
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart1_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart2_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart3_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/mcspi1_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/i2c1_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/i2c2_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/mmchs1_fck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/rate ==> 48000049
./sys_clkin_ck/ddr_pll_clk2_ck/rate ==> 48000049
./sys_clkin_ck/main_pll_clk5_ck/sysclk24_ck/rate ==> 125000160
./sys_clkin_ck/main_pll_clk5_ck/rate ==> 125000160
./sys_clkin_ck/video_pll_clk1_ck/rate ==> 27000000
./sys_clkin_ck/video_pll_clk2_ck/rate ==> 27000000
./sys_clkin_ck/video_pll_clk3_ck/rate ==> 27000000
./sys_clkin_ck/gpt1_fck/rate ==> 27000000
./sys_clkin_ck/gpt2_fck/rate ==> 27000000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk2_ck/rate ==> 157988571
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk4_ck/sysclk21_ck/rate ==>
45158421
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk4_ck/rate ==> 45158421
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk5_ck/sysclk22_ck/rate ==>
32768000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk5_ck/rate ==> 32768000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp0_fck/rate
==> 196608000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp1_fck/rate
==> 196608000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp2_fck/rate
==> 196608000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/rate ==>
196608000
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/rate ==> 196608000
./sys_clkin_ck/main_pll_clk7_ck/rate ==> 432000000
./sys_clkin_ck/rate ==> 27000000


Use Count[edit]

./secure_32k_ck/usecount ==> 0
./tclkin_ck/usecount ==> 0
./audio_pll_clk1_ck/audio_pll_a_ck/usecount ==> 0
./audio_pll_clk1_ck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpt3_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpt4_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpt5_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpt6_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpt7_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/wdt2_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpio1_dbck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/gpio2_dbck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/mmchsdb1_fck/usecount ==> 0
./sys_32k_ck/sysclk18_ck/usecount ==> 0
./sys_32k_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk6_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk1_ck/sysclk1_ck/gem_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk1_ck/sysclk1_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk1_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk2_ck/sysclk2_ck/mpu_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk2_ck/sysclk2_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk2_ck/sysclk23_ck/sgx_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk2_ck/sysclk23_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk2_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd0_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd0_sl2_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd1_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd1_sl2_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd2_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/ivahd2_sl2_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/sysclk3_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk3_ck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk1_ck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk3_ck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk4_ck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk5_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/mmu_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/ducati_ucache_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tpcc_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc0_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc1_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/tptc3_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/pcie_ck/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/sata_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/emac1_ick/usecount ==> 2
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/emac2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/ducati_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/gem_trc_fck/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk5_ck/usecount ==> 4
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mmu_cfg_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mailbox_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/spinbox_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gem_vbusp_fck/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart1_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/uart3_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mcspi1_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/wdt2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt1_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt3_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt4_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt5_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt6_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpt7_ick/usecount ==> 0
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpio1_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpio2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/i2c1_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/i2c2_ick/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/mmchs1_ick/usecount ==> 2
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/sr_hvt_fck/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/sr_svt_fck/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/usb_ick/usecount ==> 2
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/gpmc_fck/usecount ==> 1
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/sysclk6_ck/usecount ==> 16
./sys_clkin_ck/main_pll_clk4_ck/sysclk4_ck/usecount ==> 7
./sys_clkin_ck/main_pll_clk4_ck/usecount ==> 1
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart1_fck/usecount ==> 1
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart2_fck/usecount ==> 1
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/uart3_fck/usecount ==> 1
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/mcspi1_fck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/i2c1_fck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/i2c2_fck/usecount ==> 0
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/mmchs1_fck/usecount ==> 1
./sys_clkin_ck/ddr_pll_clk2_ck/sysclk10_ck/usecount ==> 4
./sys_clkin_ck/ddr_pll_clk2_ck/usecount ==> 1
./sys_clkin_ck/main_pll_clk5_ck/sysclk24_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk5_ck/usecount ==> 0
./sys_clkin_ck/video_pll_clk1_ck/usecount ==> 0
./sys_clkin_ck/video_pll_clk2_ck/usecount ==> 0
./sys_clkin_ck/video_pll_clk3_ck/usecount ==> 0
./sys_clkin_ck/gpt1_fck/usecount ==> 1
./sys_clkin_ck/gpt2_fck/usecount ==> 1
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk2_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk4_ck/sysclk21_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk4_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk5_ck/sysclk22_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk5_ck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp0_fck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp1_fck/usecount ==> 0
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/mcasp2_fck/usecount ==> 1
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/sysclk20_ck/usecount ==> 1
./sys_clkin_ck/main_pll_clk7_ck/audio_pll_clk3_ck/usecount ==> 1
./sys_clkin_ck/main_pll_clk7_ck/usecount ==> 1
./sys_clkin_ck/usecount ==> 5


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 DM816x AM389x PSP 04.00.01.13 Feature Performance Guide 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 DM816x AM389x PSP 04.00.01.13 Feature Performance Guide here.

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