AM37x To AM335x Hardware Migration Guide

'''  Content is no longer maintained and is being kept for reference only! ''' =Introduction= This article documents the differences between the TI AM37x and the TI AM335x processors. Note that AM37x is the ARM-only version of DM3730 processor. All of the documentation referenced in this migration guide can be found on the TI website located in the two device respective product folders. The device folders are found at the following web pages.

The device folders are found at the following web pages:
 * AM37x
 * AM335x

= Software Migration Guide =

For more information on software migration, please see:

TBD

= Basic Feature comparison =

The table below shows a comparison of the basic features of the AM37x and the AM335x. The remainder of this document presents a comparison of these features in greater detail, and also provides references to the appropriate documentation for further information.



=Module Comparison=

ARM Processor
AM37x and AM335x are both based on the ARM Cortex-A8 processor. The table below shows a comparison between these two devices.

* OPP 1G available with SmartReflex enabled. Note: Please refer to the AM37x and AM335x Datasheets for the latest OPP values.

Neon Co-processor
The Neon Coprocessor is the same between the two devices.

Wake-up Controller
AM335x integrates an ARM Cortex M3 core that manages entry and exit of various stand-by and deep-sleep modes.

AM37x does not contain a dedicated wake-up controller.

Graphics Engine
The Graphics Engine SGX530 is binary compatible between the two devices.

On-Chip Memory
AM37x has 64KB RAM.

AM335x has 64KB RAM

General Purpose Memory Controller
The GPMC module is binary compatible between the two devices. The only difference is the ECC hardware mechanism, which is outside of the GPMC module.

ECC
AM37x supports 1-bit (Hamming) and 4-bit, 8-bit (BCH) hardware ECC. AM335x supports 1-bit (Hamming) ECC and has a new Error Locator Module (ELM) to support 4-bit, 8-bit, or 16-bit (BCH) ECC.

SDRAM Memory Controller
The SDRAM Memory Controller is different between the two devices.

AM37x supports the SDRC Subsystem, providing a 16- or 32-bit interface to m-SDR and LPDDR. 32-bit LPDDR is only supported up to 200MHz clock frequency. The SDRC Sybsystem includes a SDRAM memory scheduler (SMS) and a virtual rotated frame-buffer (VRFB) within the subsystem supports rotations of 0/90/180/270 degrees.

AM335x supports the EMIF, providing a 16-bit interface to mDDR (LPDDR1), DDR2, and DDR3 memories. The EMIF does not support Virtual Rotated Frame Buffer (VRFB) 0/90/180/270 degree rotation in hardware. The AM335x EMIF supports:
 * mDDR: up to 200 MHz clock (400 MHz data rate),
 * DDR2: up to 266 MHz clock (532 MHz data rate),
 * DDR3: up to 303 MHz clock (606 MHz data rate)

Operating Performance Points
* OPP 1G available with SmartReflex enabled. Note: Please refer to the AM37x Datasheet for the latest OPP values.

Note: Please refer to the AM335x Datasheet for the latest OPP values.

Voltage Rails
The following tables compare the power supplies for AM37x and AM335x:

 * Note: Please refer to the AM37x Datasheet for the latest values.

* Note: These voltage rails are not available in the 13x13 package.

Input Clocks
On AM37x, the high frequency clock, alternative input clock, and 32KHz clock were required to be sourced externally. The AM335x has the option to obtain the 32KHz clock from the high frequency 20MHz clock using an internal RTCDIVDER. If this is used, an external 32KHz clock source is not necessary. The 32KHz provides a clock for the following modules:


 * RTC
 * GPIO0/1/2/3
 * TIMER1/2/3/4/5/6/7
 * ARM
 * SYNCTIMER

PLLs
AM37x has the following PLLs, all driven by the HF clock:


 * DPLL1 - MPU
 * DPLL3 - Core
 * DPLL4 - Peripherals
 * DPLL5 - Peripherals 2

AM335x has the following PLLs, driven by a crystal (CLK_M_OSC):


 * Core PLL - for SGX, EMAC, L3S, L3F, L4F, L4_PER, L4_WKUP, PRUSS IEP, Debugss
 * Peripheral (Per) PLL - for USB PHY, PRUSS UART, MMC/SD, SPI, I2C, UART
 * MPU PLL - for MPU Subsystem (includes Cortex A-8)
 * Display PLL - for LCD Pixel Clock
 * DDR PLL - for EMIF

Power Management Feature Comparison

 * * On 13x13 mm package option, VDD_CORE and VDD_MPU are merged.

Bootmodes
The available bootmodes for AM37x and AM335x are shown in the table below.

Display
AM37x has a display subsystem (DSS) that supports the following resolutions: XGA, WXGA, SXGA+, and HD 720p.

AM335x has a simple LCD controller with no preprocessing operations such as preview, overlay, blending, resizing, etc. The AM335x LCD controller supports up to WXGA resolution.

Camera SubSystem
A camera subsystem is not supported on AM335x.

MMC/SD
The AM37x and AM335x devices support different versions of industry standards (shown below).

* Note full compliance with the MMC command/response sets and MMC bus testing procedure, as defined in the Multimedia Card System Specification, v4.2, does not prevent the use of e.MMC version 4.3 (or 4.4) devices with the AM37x, because e.MMC devices are backward compatible.

** Note the supported data width is subject to pinmux constraints.

USB
The main differences between the two devices with respect to USB is the integrated PHYs and the more flexible operation in the AM335x.

The AM37x requires an external PHY with both the USB-OTG and USB1-3 host ports. Also, the USB1-3 ports are only capable of host mode operation, at either high speed or full speed mode (not both).

The AM335x has 2 USB ports capable of host and OTG operations. Both ports have an integrated PHY.

I2C
The I2C ports are binary compatible same between the two devices.

AM37x supports 3 general I2C ports. The I2C ports can support up to 3.4Mbps high speed transmissions, along with the usual 100/400Kbps operation.

AM335x supports 3 general I2C ports. The ports only support 100/400Kbps operation. No high speed mode is supported.

UART
The UART modules on both devices are functionality compatible with the TL16C750 (and TL16C550) UART. The primary differences between devices are the number of UARTs and supported capabilities.

AM37x has 4 UARTs. Only UART3 has IrDA capabilities. UART 4 does not support flow control.

AM335x has 6 UARTs, all of which support IrDA, CIR, and flow control. Full modem control is only available on 1 UART instance. AM335x allows 1 instance of UART rx/ tx lines to be muxed with USB DP/ DM lines.

MCBSP/McASP
AM37x has 5 McBSP ports and no McASP ports

AM335x has no McBSP ports and 2 McASP ports.

The McASP is a superset of the McBSP. It is suggested to use the McASP ports for McBSP functionality. Note the McASP ports on AM335x have less buffers for internal FIFO and audio loopback and no sidetone support.

HDQ-1Wire
The module does not exist on AM335x. It is suggested to use either I2C or GPIO for this type of functionality (eg, battery monitor).

GPTimer
The GPTimers on both devices are binary compatible.

AM37x has 11 32-bit GPTimers. Three GPTimers (GPTIMER1, GPTIMER2, and GPTIMER10) support 1-ms tick with 32,768 Hz functional clock generated. Only 4 GPTimers (GPT_8 - GPT_11) are pinned out.

AM335x supports seven (7) 32-bit GPTimers. One GPTimer (DMTIMER1) is specialized for accurate 1mS OS Ticks. Only 4 GPTimers (DMTIMER4 - DMTIMER7) are pinned out.

WDTimer
AM37x has 2 32-bit Watchdog Timers. AM335x has 1 32-bit Watchdog Timer.

32-kHz Sync Timer
The 32-kHz sync timer does not exist on AM335x.

GPIOs
The GPIO modules between the two devices are binary compatible. The only difference is in the number of banks and I/O capabilities.

AM37x supports 6 banks of GPIO signals. Each bank supports 32 GPIOs and two interrupts. All GPIOs are 1.8V I/Os, with the exception of those muxed with MMC1 which are 3.0V capable.

AM335x supports 4 banks of GPIO signals. Each bank supports 32 GPIOs and two interrupts. All GPIOs are 1.8V/3.3V capable, depending on which I/O group the pin falls in. Most LVCMOS IO`s on AM335x are configurable as GPIO.

New interfaces in AM335x
The following are new interfaces in the AM335x device that do not exist in AM37x. Any details about these interfaces can be found in the Technical Reference Manual for AM335x.


 * CAN - Controller Area Network Interface
 * eCAP
 * Ethernet
 * eQEP
 * PRUSS - Programmable Real-time Unit SubSystem
 * PWM
 * RTC
 * TS/ADC

Pin and package
The AM37x and the AM335x devices are offered different mechanical packages. The physical dimensions and pin out of the packages are also different. The table below lists the variations between the AM37x and the AM335x devices.