AM35x 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 AM35x and the TI AM335x processors. Note AM35x is the ARM-only version of this 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:
 * AM35x
 * 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 AM35x 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
AM35x and AM335x are both based on the ARM Cortex-A8 processor. The table below shows a comparison between these two devices.

Note: Please refer to the AM35x 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.

AM35x does not contain a dedicated wake-up controller.

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

On-Chip Memory
AM35x has 64KB RAM.

AM335x has 64KB RAM

General Purpose Memory Controller
The GPMC module is binary compatible between the two devices. AM35x supports up to 8 chip selects, and AM335x supports up to 7 chip selects. The main difference between the device is the ECC hardware mechanism, which is outside of the GPMC module.

ECC
AM35x 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.

AM35x supports the SDRC Subsystem, providing a 16- or 32-bit interface to m-SDR and LPDDR. 32-bit LPDDR (or mDDR) is only supported up to a 166 MHz 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)

Power Management Feature Comparison

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

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

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

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

Input Clocks
The AM35 has the option to obtain the 32KHz clock from an external oscillator or from the HS system clock using a fixed divider.

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
AM35x 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

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

Display
AM35x 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.

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

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

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

AM35x has 4 UARTs. Only UART3 has IrDA capabilities.

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.

CAN
AM35x supports a High-End CAN Controller (HECC). The HECC is compliant with CAN 2.0b and supports 32 message objects for full-mask acceptance-filtering. AM335x supports two (2) DCAN controllers. The DCAN is compliant with CAN 2.0b and supports 64 message objects.

MCBSP/McASP
AM35x 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.

AM35x 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
Both AM35x and AM335x have 1 32-bit Watchdog Timer.

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

GPIOs
AM35x supports 186 GPIO pins. The GPIO signals are divided into 6 banks, each supporting 32 GPIOs. Note only 186 of these GPIO signals are pinned out. Each bank supports two interrupts.

AM335x supports 4 banks of GPIO signals. Each bank supports 32 GPIOs and two interrupts.

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


 * eCAP
 * eQEP
 * PRUSS - Programmable Real-time Unit SubSystem
 * PWM
 * RTC
 * TS/ADC

Pin and package
The AM35x 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 AM35x and the AM335x devices.