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.

OMAP35x To AM37x Software Migration Guide

From Texas Instruments Wiki
Jump to: navigation, search

 

AM37x SDK[edit]

AM37x SDK contains the following packages as seperate installers.

  • Linux Platform Support Package (Linux PSP) - Use the Linux PSP v3.xx release for working with AM37x EVM boards.
  • Graphics Software Development Kit (Graphics SDK) - Use Graphics SDK v3.01.xx for working with AM37x EVM boards.
  • Graphics Demonstration Software - For further information, refer OpenGLES_Texture_Streaming_-_bc-cat_User_Guide 


AM37x Linux PSP[edit]

This section describes software interface level changes for drivers supported as part of the BSP and should serve as an aid for migrating existing applications from OMAP35x to the AM/DM37x SoC.

Supported Boot Modes[edit]

OMAP35x and AM/DM 37x support the same set of boot modes. Also they share the same base-board - thereby the list of supported boot modes is exactly the same. The list of software supported boot modes include boot from Nand,OneNAND and MMC (UART mode verified separately)

X-Loader/U-boot[edit]

The Boot-up procedure is two-stage involving a preliminary bootloader(x-loader) running out of SRAM and secondary bootloader(u-boot) that runs out of DDR.

The same x-loader/u-boot binary should be able to run on both OMAP35x and AM/DM37x platforms. Specific differences between the two platforms are handled through runtime detection of CPU type.

Notable change includes scaling up SGX clock frequency from 96Mhz to 200Mhz(to enable TV-out clock dividers, SGX clock source now derived from Core Clk DPLL)

Ethernet Driver[edit]

The ethernet controller is off-chip and both OMAP35x and AM/DM37x re-use the same SMSC 9220 chip. The driver and supported set of features remain the same.

Since the driver relies on CPU for handling IO (no DMA support), overall through put will see an improvement as AM/DM37x platform is clocked at a higher operating frequency.

Audio Driver[edit]

The basic components that make-up the audio subsystem like McBSP,I2C,sDMA are unchanged from OMAP35x. The driver and supported set of features remain the same.

Storage Subsystem - NAND, MMC/SD[edit]

OMAP35x and AM/DM37x share the same GPMC(interfacing NAND, NOR)and MMC/SD Host controller implementation. The SW drivers are hence re-used and support the same set of features.


Display Sub-System[edit]

The Display controller module is similar in both OMAP35x and AM/DM37x supporting various features like, 3 plane (gfx, video1 and video2), 2 overlay manager (LCD/DVI out and TV out), VRFB rotation engine, alpha blending, and color keying.

The differences are summarized below:

  • On AM/DM37x, VDAC (for TV out) has been enhanced to newer version as compared to OMAP35x. This should result in better video quality(no SW change for this)
  • AM/DM37x supports additional new feature, pre-multiplied alpha blending which is not currently supported in software.

From application interface (Fbdev and V4L2) point of view there is no change between OMAP35x and AM/DM37x.

V4L2 Capture Driver[edit]

On Capture side, both OMAP35x and AM/DM37x share the same video capture sub-system with features like previewer, resizer and histogram. The SW implementation for both these platforms supports BT656 interface through TVP5146 decoder.

Stand-Alone Resizer Driver[edit]

The capture sub-subsytem includes resizer functionality that can be exported to the user for memory-to-memory resize operation(one-shot mode). This is supported through a char device interface on Linux (WIP for Mem-to-Mem framework under V4L2)

From application interface point of view there is no change between OMAP35x and AM/DM37x.

USB Drivers[edit]

MUSB OTG Driver[edit]

Mentor OTG core version for AM3/DM7x has been upgraded as compared to OMAP35x - some of the hardware issues applicable to OMAP35x have been addressed with this upgradation

The following sections describe the impact of these changes as applicable to specific uses cases

Mass Storage Class(Host)[edit]

On AM/DM37x platform, MSC class Rx throughput would improve due to support for concurrent DMA and Rx DMA Mode-1 fixes.

CDC/RNDIS Class[edit]

Mentor DMA requires the buffers to be aligned on a four byte boundary on AM/DM37x while there is no such limitation for OMAP35x. This limitation would affect CDC/RNDIS class of application on AM/DM37x as networking stack allocated buffers typically end up being unaligned on word boundary(ethernet header being 14 Bytes long and the stack aligns IP headers on 4-byte boundary). USB driver mitigates this issue by using system DMA for all unaligned buffers. Using system DMA can impact throughput and cpu loading as compared to using Mentor DMA.

Isochronous Class[edit]

On AM/DM37x ability to use Mentor DMA for Rx transfers should result in higher FPS rate for USB video streaming. As compared to OMAP35x, the USB driver should be able to sustain simultaneous audio recording along with video streaming(VGA resolution).

Since applications interface through class/gadget drivers and these are unchanged between OMAP35x and AM35x, there should be no interface level changes from application standpoint.

USBHOST(EHCI) Driver[edit]

There is no change in USBHOST interface.

SGX Subsystem[edit]

The Graphics subsystem on AM/DM37x is clocked at a much higher frequency of 200Mhz as compared to OMAP35x.


Hardware Migration Guide[edit]

Refer to the OMAP35x To AM37x Hardware Migration Guide

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 OMAP35x To AM37x Software Migration 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 OMAP35x To AM37x Software Migration Guide here.

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