1710
11121B–ATARM–08-Mar-13 Description The Atmel SAMA5D3 series is a high-performance, power-efficient embedded MPU based on the ARM ® Cortex ® -A5 processor, achieving 536 MHz with power consumption levels below 0.5 mW in low-power mode. The device features a floating point unit for high-precision computing and accelerated data processing, and a high data bandwidth architecture. It integrates advanced user interface and connectivity peripherals and security features. The SAMA5D3 series features an internal multi-layer bus architecture associated with 39 DMA channels to sustain the high bandwidth required by the processor and the high-speed peripherals. The device offers support for DDR2/LPDDR/LPDDR2 and MLC NAND Flash memory with 24-bit ECC. The comprehensive peripheral set includes an LCD controller with overlays for hardware-accelerated image composition, a touchscreen interface and a CMOS sensor interface. Connectivity peripherals include Gigabit EMAC with IEEE1588, 10/100 EMAC, multiple CAN, UART, SPI and I2C. With its secure boot mechanism, hardware accelerated engines for encryption (AES, TDES) and hash function (SHA), the SAMA5D3 ensures anti-cloning, code protection and secure external data transfers. The SAMA5D3 series is optimized for control panel/HMI applications and applications that require high levels of connectivity in the industrial and consumer markets. Its low- power consumption levels make the SAMA5D3 particularly suited for battery-powered devices. There are four SAMA5D3 devices in this series. Table 1-1 “SAMA5D3 Devices” shows the differences in the embedded features. All other features are available on all derivatives; this includes the three USB ports as well as the encryption engine and secure boot features. ARM-based Embedded MPU SAMA5D3 Series DATASHEET

Atmel 11121 32 Bit Cortex A5 Microcontroller SAMA5D3 Datasheet

Embed Size (px)

Citation preview

ARM-based Embedded MPUSAMA5D3 SeriesDATASHEET

DescriptionThe Atmel SAMA5D3 series is a high-performance, power-efficient embedded MPU based on the ARM Cortex -A5 processor, achieving 536 MHz with power consumption levels below 0.5 mW in low-power mode. The device features a floating point unit for high-precision computing and accelerated data processing, and a high data bandwidth architecture. It integrates advanced user interface and connectivity peripherals and security features. The SAMA5D3 series features an internal multi-layer bus architecture associated with 39 DMA channels to sustain the high bandwidth required by the processor and the high-speed peripherals. The device offers support for DDR2/LPDDR/LPDDR2 and MLC NAND Flash memory with 24-bit ECC. The comprehensive peripheral set includes an LCD controller with overlays for hardware-accelerated image composition, a touchscreen interface and a CMOS sensor interface. Connectivity peripherals include Gigabit EMAC with IEEE1588, 10/100 EMAC, multiple CAN, UART, SPI and I2C. With its secure boot mechanism, hardware accelerated engines for encryption (AES, TDES) and hash function (SHA), the SAMA5D3 ensures anti-cloning, code protection and secure external data transfers. The SAMA5D3 series is optimized for control panel/HMI applications and applications that require high levels of connectivity in the industrial and consumer markets. Its lowpower consumption levels make the SAMA5D3 particularly suited for battery-powered devices. There are four SAMA5D3 devices in this series. Table 1-1 SAMA5D3 Devices shows the differences in the embedded features. All other features are available on all derivatives; this includes the three USB ports as well as the encryption engine and secure boot features.

11121BATARM08-Mar-13

1.

Featuresz

Corez

ARM Cortex-A5 Processor with ARM v7-A Thumb2 Instruction Setz

CPU Frequency up to 536 MHz

z z

32 Kbyte Data Cache, 32 Kbyte Instruction Cache, Virtual Memory System Architecture (VMSA) Fully Integrated MMU and Floating Point Unit (VFPv4) One 160 Kbyte Internal ROM Single-cycle Access at System Speed, Embedded Boot Loader: Boot on NAND Flash, SDCard, eMMC, serial DataFlash, selectable Order One 128 Kbyte Internal SRAM, Single-cycle Access at System Speed High Bandwidth 32-bit Multi-port Dynamic Ram Controller supporting 512 Mbyte 8 bank DDR2/LPDDR/LPDDR2 Independent Static Memory Controller with SLC/MLC NAND Support with up to 24-bit Error Correcting Code (PMECC) Power-on Reset Cells, Reset Controller, Shut Down Controller, Periodic Interval Timer, Watchdog Timer and Real-time Clock Boot Mode Select Option, Remap Command Internal Low-power 32 kHz RC Oscillator and Fast 12 MHz RC Oscillators Selectable 32768 Hz Low-power Oscillator and 12 MHz Oscillator One 400 to 1000 MHz PLL for the System and one PLL at 480 MHz optimized for USB High Speed 39 DMA Channels including two 8-channel 64-bit Central DMA Controllers 64-bit Advanced Interrupt Controller Three Programmable External Clock Signals Programmable Fuse Box with 256 fuse bits, 192 of them available for Customer Shut Down Controller Battery Backup Registers Clock Generator and Power Management Controller Very Slow Clock Operating Mode, Software Programmable Power Optimization Capabilities LCD TFT Controller with Overlay, Alpha-blending, Rotation, Scaling and Color Space Conversion ITU-R BT. 601/656 Image Sensor Interface Three HS/FS/LS USB Ports with On-Chip Transceiversz z

z

Memoriesz z z z

z

System running up to 166 MHzz z z z z z z z z

z

Low Power Managementz z z z

z

Peripheralsz z z

One Device Controller One Host Controller with Integrated Root Hub (3 Downstream Ports)

z z z z z z z z z z

One 10/100/1000 Mbps Gigabit Ethernet Mac Controller (GMAC) with IEEE1588 support One 10/100 Mbps Ethernet Mac Controller (EMAC) Two CAN Controllers with 8 Mailboxes, fully Compliant with CAN 2.0 Part A and 2.0 Part B Softmodem Interface Three High Speed Memory Card Hosts (eMMC 4.3 and SD 2.0) Two Master/Slave Serial Peripheral Interface Two Synchronous Serial Controllers Three Two-wire Interface up to 400 Kbits supporting I2C Protocol and SMBUS Four USARTs, two UARTs, one DBGU Two Three-channel 32-bit Timer/Counters

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

2

z z z

One Four-channel 16-bit PWM Controller One 12-channel 12-bit Analog-to-Digital Converter with Resistive Touch-Screen function Write Protected Registers TRNG: True Random Number Generator Encryption Enginez z z

z

Securityz z

AES: 256-bit, 192-bit, 128-bit Key Algorithm, Compliant with FIPS PUB 197 Specifications TDES: Two-key or Three-key Algorithms, Compliant with FIPS PUB 46-3 Specifications SHA: Supports Secure Hash Algorithm (SHA1, SHA224, SHA256, SHA384, SHA512)

z

Atmel Secure Boot Solution Five 32-bit Parallel Input/Output Controllers 160 I/Os Input Change Interrupt Capability on Each I/O Line, Selectable Schmitt Trigger Input Individually Programmable Open-drain, Pull-up and Pull-down Resistor, Synchronous Output, Filtering Slew Rate Control on High Speed I/Os Impedance Control on DDR I/Os 324-ball LFBGA, pitch 0.8 mm

z

I/Oz z z z z z

z

Packagez

Table 1-1.

SAMA5D3 Devices SAMA5D31 SAMA5D33 X X X X X X X X SAMA5D34 X X X X X X X X X SAMA5D35

LCDC GMAC EMAC CAN0, CAN1 HSMCI2 UART0 UART1 TC1

X

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

3

2.

Block Diagram

Figure 2-1. SAMA5D3 Block DiagramDH S DH DP SD /HH M/ SD HH PA G1 SD 25 MA GT CK -G X GT CK 12 5 X GC EN GRX CKO -G C GRRS, TX K X G E GR ER CO R - L GT X0- GRX X GR D GM 0-G X7 V D TX7 ER C, G M ET EFC DI O X K EC EN R ER SD V, X E T 0- E E R X R X EM 0-ET X1 ER DC X1 ,E LC MD LCD-D D_ AT0 IO LC V -L D_ SY CD LC PC NC _ D_ K , L DA DE , LC CD T23 N, D_ _H LC D S IS I_D D_ ISP YN C PW IS OI_P IS M I _ C IS I_H K D11 SY NC , IS I_V SY NC DD R_ CA LP DD R_ CA LN

NT RS T TD I TD O TM TC S/SW K/S D WC IO LK JTA GS EL

TST

BMS

HH S HH DPC SD H H MC HH SDP SD B MB VB G

SysCFIQ IRQPIO

JTAG / SWDAICIn-Circuit Emulator

HS Trans

HS Trans

HS Trans

PIO

DDR_VREF DDR_A0-DDR_A13 DDR_D0-DDR_D31 DDR_DQM[3..0] DDR_DQS[3..0]

DRXD DTXD PCK0-PCK2

DBGU

PC PB

PA HS USB Device DMA GMAC 10/100/1000 EMAC 10/100 LCD ISI

Cortex-A5PLLA PLLUTMIICache 32 KB MMU BIU

VFP DCache 32 KB

HS EHCI USB HOST DMA

DDR2 LPDDR2 512 MB

XIN XOUT

Osc12 MHz

PMC

DMA

DMA

DMA

DMA

12 MHZ RC Osc WDT RCXIN32 XOUT32 SHDN WKUP VDDBU NRST OSC 32K

I/DPIT4 GPBR EBI

DDR_DQSN[3..0] DDR_CS DDR_CLK,DDR_CLKN DDR_CKE DDR_RAS, DDR_CAS DDR_WE DDR_BA[2..0] D0-D15 A21/NANDALE A22/NANDCLE NRD/NANDOE NWE/NWR0/NANDWE NCS3/NANDCS NANDRDY A0/NBS0 A1-A20 A23-A25 NWR1/NBS1 NCS0,NCS1,NCS2 NWAIT

Multi-Layer MatrixRTC RSTCTRNG SHA AES TDES DMA

SHDC POR POR PIOA PIOC PIOE

NAND Flash Controller MCL/SLC ECC (4 KB SRAM)

PIOB PIOD

ROM 160 KB

SRAM0 64 KB

SRAM1 64 KB

8-CH DMA0

8-CH DMA1

Peripheral Bridge

Reduced Static Memory Controller

PIO

DMA CAN0 CAN1 TWI0 TWI1 TWI2

DMA USART0 USART1 USART2 USART3

DMA

DMA SPI0 SPI1

DMA SSC0 SSC1

DMA MCI0/MCI1/MCI2 SD/SDIO eMMC TC0, TC1 TC2, TC3 TC4, TC5

DMA 4-CH PWM

UART0 UART1

Real-time Events

DMA 12-CH 12-bit ADC TouchScreen SMD

PIO

PN CA RX NT 0-C X0 A -C NR A X TW NT 1 TW D0 X1 CK -TW 0TW D2 CK CT 2 S RT 03 SCS03 RDK0X 3 TX 0-3 UR D0 D -3 UT X0NP UR X CS D0 D X 1, NP -UT 1 XD CS 1 2, NP C NP S3 CS SP 0 C M K O M SI TK ISO 0 TF -TK TD 0-T 1 F 0 RD -T 1 0 D RF -RD1 0 1 RK -RF 0 1 M -RK CI 1 M 0_C CI D M 1_ A CI C D 2 M _C A C D M I0_ A CI C M MC 1_CK CI I K M 0_D 2_C CI A K M 1_D [7..0 CI A ] 2 [ TI _D 3..0 O A ] TI A0 [3.. O -T 0] B TC 0 IO -T A PW LK0 IOB5 M -TC 5 LK PW H0 5 PW ML PW M 0-P MH FI W 3 0- M PW L3 M TS FI AD 3 TR AD IG 0U AD L 1 AD UR 2 AD LL GP 3 AD A LR 5- D4 G P TS PAD I AD 11 VR EF

DIB

SPI0_, SPI1_

CA

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

DI

BN

4

3.

Signal DescriptionTable 3-1 gives details on the signal names classified by peripheral.Signal Description List Function Type Active Level Frequency (MHz) Comments

Table 3-1.

Signal Name Clocks, Oscillators and PLLs XIN XOUT XIN32 XOUT32 VBG PCK0 - PCK2 Main Oscillator Input Main Oscillator Output Slow Clock Oscillator Input Slow Clock Oscillator Output Bias Voltage Reference for USB Programmable Clock Output Input Output Input Output Analog Output

Shutdown, Wake-up Logic SHDN WKUP Shut-Down Control Wake-Up Input ICE and JTAG TCK/SWCLK TDI TDO TMS/SWDIO JTAGSEL Test Clock/Serial Wire Clock Test Data In Test Data Out Test Mode Select/Serial Wire Input/Output JTAG Selection Reset/Test NRST TST NTRST BMS Microcontroller Reset Test Mode Select Test Reset Signal Boot Mode Select I/O Input Input Input Debug Unit - DBGU DRXD DTXD Debug Receive Data Debug Transmit Data Input Output Advanced Interrupt Controller - AIC IRQ FIQ External Interrupt Input Fast Interrupt Input Input Input Low Input Input Output I/O Input Output Input

PIO Controller - PIOA - PIOB - PIOC - PIOD - PIOE PA0 - PAxx PB0 - PBxx PC0 - PCxx PD0 - PDxx PE0 - PExx Parallel IO Controller A Parallel IO Controller B Parallel IO Controller C Parallel IO Controller D Parallel IO Controller E I/O I/O I/O I/O I/O

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

5

Table 3-1.

Signal Description List (Continued) Function Type Active Level Frequency (MHz) Comments

Signal Name External Bus Interface - EBI D0 - D15 A0 - A25 NWAIT Data Bus Address Bus External Wait Signal I/O Output Input Static Memory Controller - HSMC NCS0 - NCS3 NWR0 - NWR1 NRD NWE NBS0 - NBS1 NANDOE NANDWE Chip Select Lines Write Signal Read Signal Write Enable Byte Mask Signal NAND Flash Output Enable NAND Flash Write Enable Output Output Output Output Output Output Output DDR2/LPDDR Controller DDR_VREF DDR_CALP DDR_CALN DDR_CK, DDR_CKN DDR_CKE DDR_CS DDR_BA[2..0] DDR_WE DDR_RAS, DDR_CAS DDR_A[13..0] DDR_D[31..0] DQS[3..0] DQSN[3..0] DQM[3..0] Reference Voltage Positive Calibration Reference Negative Calibration Reference DDR2 differential clock DDR2 Clock Enable DDR2 Controller Chip Select Bank Select DDR2 Write Enable Row and Column Signal DDR2 Address Bus DDR2 Data Bus Differential Data Strobe DQSN must be connected to DDR_VREF for DDR2 memories Write Data Mask Input Input Input Output Output Output Output Output Output Output I/O/-PD I/O- PD I/O- PD Output

Low

Low Low Low Low Low Low Low

High Low Low Low Low

High Speed Multimedia Card Interface - HSMCI0-2 MCI0_CK, MCI1_CK, MCI2_CK MCI0_CDA,MCI1_C DA, MCI2_CDA MCI0_DA[7..0] MCI1_DA[3..0] MCI2_DA[3..0) Multimedia Card Clock Multimedia Card Command Multimedia Card 0 Data Multimedia Card 1 Data Multimedia Card 2 Data I/O I/O I/O I/O I/O

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

6

Table 3-1.

Signal Description List (Continued) Function Type Active Level Frequency (MHz) Comments

Signal Name

Universal Synchronous Asynchronous Receiver Transmitter- USART0-3 SCKx TXDx RXDx RTSx CTSx USARTx Serial Clock USARTx Transmit Data USARTx Receive Data USARTx Request To Send USARTx Clear To Send I/O Output Input Output Input

Universal Asynchronous Receiver Transmitter - UARTx [1..0] UTXDx URXDx UARTx Transmit Data UARTx Receive Data Output Input

Synchronous Serial Controller - SSCx [1..0] TDx RDx TKx RKx TFx RFx SSC Transmit Data SSC Receive Data SSC Transmit Clock SSC Receive Clock SSC Transmit Frame Sync SSC Receive Frame Sync Timer/Counter - TCx [5..0] TCLKx TIOAx TIOBx TC Channel x External Clock Input TC Channel x I/O Line A TC Channel x I/O Line B Input I/O I/O Output Input I/O I/O I/O I/O

Serial Peripheral Interface - SPIx [1..0] SPIx_MISO SPIx_MOSI SPIx_SPCK SPIx_NPCS0 SPIx_NPCS[3..1] Master In Slave Out Master Out Slave In SPI Serial Clock SPI Peripheral Chip Select 0 SPI Peripheral Chip Select I/O I/O I/O I/O Output Low Low

Two-Wire Interface -TWIx [2..0] TWDx TWCKx Two-wire Serial Data Two-wire Serial Clock I/O I/O CAN controller - CANx CANRXx CANTXx CAN input CAN output Input Output Soft Modem - SMD DIBN DIBP Soft Modem Signal Soft Modem Signal I/O I/O

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

7

Table 3-1.

Signal Description List (Continued) Function Type Active Level Frequency (MHz) Comments

Signal Name

Pulse Width Modulation Controller- PWMC PWMH[3..0] PWML[3..0] PWMFIx PWM Waveform Output High PWM Waveform Output LOW PWM Fault Input Output Output Input USB Host High Speed Port - UHPHS HHSDPA HHSDMA HHSDPB HHSDMB HHSDPC HHSDMC USB Host Port A High Speed Data + USB Host Port A High Speed Data USB Host Port B High Speed Data + USB Host Port B High Speed Data USB Host Port C High Speed Data + USB Host Port C High Speed Data Analog Analog Analog Analog Analog Analog

USB Device High Speed Port - UDPHS DHSDP DHSDM USB Device High Speed Data + USB Device High Speed Data Analog Analog

GIgabit Ethernet 10/100/1000 - GMAC GTXCK G125CK G125CKO GTXEN GTX[7..0] GTXER GRXCK GRXDV GRX[7..0] GRXER GCRS GCOL GMDC GMDIO Transmit Clock or Reference Clock 125 MHz input Clock 125 MHz output Clock Transmit Enable Transmit Data Transmit Coding Error Receive Clock Receive Data Valid Receive Data Receive Error Carrier Sense and Data Valid Collision Detect Management Data Clock Management Data Input/Output Input Input Output Output Output Output Input Input Input Input Input Input Output I/O

RMII Ethernet 10/100 - EMAC EREFCK ETXEN ETX[1..0] ECRSDV ERX[1..0] ERXER Transmit Clock or Reference Clock Transmit Enable Transmit Data Carrier Sense/Data Valid Receive Data Receive Error Input Output Output Input Input Input

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

8

Table 3-1.

Signal Description List (Continued) Function Type Output I/O Active Level Frequency (MHz) Comments

Signal Name EMDC EMDIO Management Data Clock Management Data Input/Output

LCD Controller - LCDC LCDDAT[23..0] LCDVSYNC LCDHSYNC LCDPCK LCDDEN LCDPWM LCDDISP LCD Data Bus LCD Vertical Synchronization LCD Horizontal Synchronization LCD pixel Clock LCD Data Enable LCDPWM for Contrast Control LCD Display ON/OFF Output Output Output Output Output Output Output Image Sensor Interface - ISI ISI_D[11..0] ISI_HSYNC ISI_VSYNC ISI_PCK Image Sensor Data Image Sensor Horizontal Synchro Image Sensor Vertical Synchro Image Sensor Data clock Input input input input

Touch Screen Analog-to-Digital Converter - ADC AD0UL AD1UR AD2LL AD3LR AD4PI AD5-AD11 ADTRG ADVREF Upper Left Touch Panel Upper Right Touch Panel Lower Left Touch Panel Lower Right Touch Panel Panel Input 7 Analog Inputs ADC Trigger ADC Reference Analog Analog Analog Analog Analog Analog Input Analog

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

9

4.

Package and PinoutThe SAMA5D3 product is available in a 324-ball LFBGA package.

4.1

Mechanical Overview of the 324-ball LFBGA PackageFigure 4-1 shows the orientation of the 324-ball BGA Package.

Figure 4-1. Orientation of the 324-ball LFBGA PackageBottom VIEWV U T R P N M L K J H G F E D C B A

1 2

3 4 5 6 7 8 9 10 11 12 13 14 15

16 17 18

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

10

4.2

324-ball LFBGA Package PinoutSAMA5D3 Pinout for 324-ball LFBGA PackagePrimary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STPIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST ISI_D0 ISI_D1 TWD2 TWCK2 PWMH0 PWML0 PWMH1 PWML1 I/O O O O O O ISI_D2 ISI_D3 ISI_D4 ISI_D5 ISI_D6 ISI_D7 I I I I I I I I PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST URXD1 UTXD1 PWMH0 PWML0 TK1 TF1 PWMH1 PWML1 TD1 RK1 I O O O I/O I/O O O O I ISI_VSYNC ISI_HSYNC I I PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST

Table 4-1.

PinE3 F5 D2 F4 D1 J10 G4 J9 F3 J8 E2 K8 F2 G6 E1 H5 H3 H6 H4 H7 H2 J6 G2 J5 F1 J4 G3 J3 G1 K4 H1 K3 T2 N7 T3 N6 P5 T4 R4 U1

Power RailVDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1

I/O TypeGPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO_CLK2 GPIO GPIO GPIO GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC

SignalPA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PA8 PA9 PA10 PA11 PA12 PA13 PA14 PA15 PA16 PA17 PA18 PA19 PA20 PA21 PA22 PA23 PA24 PA25 PA26 PA27 PA28 PA29 PA30 PA31 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7

DirI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

Signal

Dir

SignalLCDDAT0 LCDDAT1 LCDDAT2 LCDDAT3 LCDDAT4 LCDDAT5 LCDDAT6 LCDDAT7 LCDDAT8 LCDDAT9 LCDDAT10 LCDDAT11 LCDDAT12 LCDDAT13 LCDDAT14 LCDDAT15 LCDDAT16 LCDDAT17 LCDDAT18 LCDDAT19 LCDDAT20 LCDDAT21 LCDDAT22 LCDDAT23 LCDPWM LCDDISP LCDVSYNC LCDHSYNC LCDPCK LCDDEN TWD0 TWCK0 GTX0 GTX1 GTX2 GTX3 GRX0 GRX1 GRX2 GRX3

DirO O O O O O O O O O O O O O O O O O O O O O O O O O O O O O I/O O O O O O I I I I

Signal

Dir

Signal

Dir

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

11

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STPIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST GTX4 GTX5 GTX6 GTX7 GRX4 GRX5 GRX6 GRX7 G125CKO O O O O I I I I O PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST TIOA3 TIOB3 TCLK3 TIOA4 TIOB4 TCLK4 TIOA5 TIOB5 TCLK5 I/O I/O I I/O I/O I I/O I/O I PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST LCDDAT20 LCDDAT19 TIOA1 TIOB1 TCLK1 PCK2 I/O I/O I O LCDDAT18 LCDDAT17 LCDDAT16 LCDDAT21 O O O O O O PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST

PinR5 P3 R6 V3 P6 V1 R7 U3 P7 V2 V5 T6 N8 U4 M7 U5 M8 T5 N9 V4 M9 P8 M10 R9 D8 A4 E8 A3 A2 F8 B3 G8 B4 F7 A1 D7 C6 E7 B2 F6 B1 E6 C3

Power RailVDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0

I/O TypeGMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GMAC GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO MCI_CLK GPIO GPIO GPIO

SignalPB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15 PB16 PB17 PB18 PB19 PB20 PB21 PB22 PB23 PB24 PB25 PB26 PB27 PB28 PB29 PB30 PB31 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16 PC17 PC18

DirI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

Signal

Dir

SignalGTXCK GTXEN GTXER GRXCK GRXDV GRXER GCRS GCOL GMDC GMDIO G125CK MCI1_CDA MCI1_DA0 MCI1_DA1 MCI1_DA2 MCI1_DA3 MCI1_CK SCK1 CTS1 RTS1 RXD1 TXD1 DRXD DTXD ETX0 ETX1 ERX0 ERX1 ETXEN ECRSDV ERXER EREFCK EMDC EMDIO MCI2_CDA MCI2_DA0 MCI2_DA1 MCI2_DA2 MCI2_DA3 MCI2_CK TK0 TF0 TD0

DirI O O I I I I I O I/O I I/O I/O I/O I/O I/O I/O I/O I O I O I O O O I I O I I I O I/O I/O I/O I/O I/O I/O I/O I/O I/O O

SignalPWMH2 PWML2 RF1 RD1 PWMH3 PWML3 CANRX1 CANTX1

DirO O I/O I O O I O

Signal

Dir

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

12

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STPIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST TWD1 TWCK1 PWMFI0 PWMFI2 I/O O I I ISI_D11 ISI_D10 ISI_D9 ISI_D8 ISI_PCK PWMFI1 I I I I I O PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST TIOA0 TIOB0 TCLK0 I/O I/O I PWMH2 PWML2 PWMH3 PWML3 O O O O PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST SPI0_NPCS1 SPI0_NPCS2 SPI0_NPCS3 O O O CANRX0 CANTX0 PWMFI3 I O I PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST PIO, I, PU, ST

PinD6 C4 D5 C2 G9 C1 H10 H9 D4 H8 G5 D3 E4 K5 P1 K6 R1 L7 P2 L8 R2 K7 U2 K9 M5 K10 N4 L9 N3 L10 N5 M6 T1 N2 M3 M2 L3 M1 N1 L1 L2 K1 K2

Power RailVDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDIOP1 VDDANA VDDANA VDDANA VDDANA VDDANA VDDANA VDDANA VDDANA VDDANA VDDANA

I/O TypeGPIO GPIO GPIO GPIO GPIO GPIO_CLK GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO MCI_CLK GPIO GPIO GPIO_CLK GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA GPIO_ANA

SignalPC19 PC20 PC21 PC22 PC23 PC24 PC25 PC26 PC27 PC28 PC29 PC30 PC31 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 PD8 PD9 PD10 PD11 PD12 PD13 PD14 PD15 PD16 PD17 PD18 PD19 PD20 PD21 PD22 PD23 PD24 PD25 PD26 PD27 PD28 PD29

DirI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

Signal

Dir

SignalRK0 RF0 RD0 SPI1_MISO SPI1_MOSI SPI1_SPCK SPI1_NPCS0 SPI1_NPCS1 SPI1_NPCS2 SPI1_NPCS3 URXD0 UTXD0 FIQ MCI0_CDA MCI0_DA0 MCI0_DA1 MCI0_DA2 MCI0_DA3 MCI0_DA4 MCI0_DA5 MCI0_DA6 MCI0_DA7 MCI0_CK SPI0_MISO SPI0_MOSI SPI0_SPCK SPI0_NPCS0 SCK0 CTS0 RTS0 RXD0 TXD0 ADTRG AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9

DirI/O I/O I I/O I/O I/O I/O O O O I O I I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I O I O I I I I I I I I I I I

Signal

Dir

Signal

Dir

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

13

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STPIO, I, PU, ST PIO, I, PU, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST SCK3 CTS3 RTS3 RXD3 TXD3 SCK2 I/O I O I O I/O A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST CTS2 RTS2 RXD2 TXD2 TIOA2 TIOB2 TCLK2 I O I O I/O I/O I LCDDAT22 LCDDAT23 O O A,I, PD, ST A,I, PD, ST A,I, PD, ST A,I, PD, ST PIO,I, PD, ST PIO, I, PD, ST PIO, I, PD, ST PIO, I, PD, ST PWML1 O PIO,I, PD, ST I, PD, I I O I O O I, ST I, PU, ST

PinJ1 J2 P13 R14 R13 V18 P14 U18 T18 R15 P17 P15 P18 R16 N16 R17 N17 R18 N18 P16 M18 N15 M15 N14 M17 M13 M16 N12 M14 M12 L13 L15 L14 L16 U15 U9 U8 V8 U16 V16 T12 T10 V9

Power RailVDDANA VDDANA VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDBU VDDIOP0 VDDIOP0 VDDIOP0 VDDBU VDDBU VDDBU VDDBU VDDIOP0

I/O TypeGPIO_ANA GPIO_ANA EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI SYSC SYSC CLOCK CLOCK CLOCK CLOCK SYSC SYSC RSTJTAG

SignalPD30 PD31 PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 PE8 PE9 PE10 PE11 PE12 PE13 PE14 PE15 PE16 PE17 PE18 PE19 PE20 PE21 PE22 PE23 PE24 PE25 PE26 PE27 PE28 PE29 PE30 PE31 TST BMS XIN XOUT XIN32 XOUT32 SHDN WKUP NRST

DirI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I I I O I O O I I/O

Signal

Dir

SignalAD10 AD11 A0/NBS0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21/NANDALE A22/NANDCLE A23 A24 A25 NCS0 NCS1 NCS2 NWR1/NBS1 NWAIT IRQ

DirI I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O I I

SignalPCK0 PCK1

DirO O

Signal

Dir

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

14

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STI, PU, ST I, ST O SWDIO SWCLK I/O I I, ST I, ST I, PD O, PU O, PU I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD I, PD O, PU I, PU O, PU O, PU I O O O O O O O O O O O O O O

PinP11 R8 M11 N10 P9 T9 V6 U6 K12 K15 K14 K16 K13 K17 J12 K18 J14 J16 J13 J17 J15 J18 H16 H18 L12 L18 L17 K11 C13 B10 C11 A9 D11 B9 E10 D10 A8 C10 B8 F11 A7 D9 A6

Power RailVDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDIOP0 VDDBU VDDIOP0 VDDIOP0 VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIOM VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR

I/O TypeRSTJTAG RSTJTAG RSTJTAG RSTJTAG RSTJTAG SYSC DIB DIB EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI EBI

SignalNTRST TDI TDO TMS TCK JTAGSEL DIBP DIBN D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 NCS3/NANDCS NANDRDY NRD/NANDOE NWE/NANDWE DDR_VREF

DirI I O I I I O O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O O I O O I O O O O O O O O O O O O O O

Signal

Dir

Signal

Dir

Signal

Dir

Signal

Dir

DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO

DDR_A0 DDR_A1 DDR_A2 DDR_A3 DDR_A4 DDR_A5 DDR_A6 DDR_A7 DDR_A8 DDR_A9 DDR_A10 DDR_A11 DDR_A12 DDR_A13

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

15

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STHiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ HiZ O O O O I, PD I, PD I, PD I, PD I, PU I, PU I, PU

PinH12 H17 H13 G17 G16 H15 F17 G15 F16 E17 G14 E16 D17 C18 D16 C17 B16 B18 C15 A18 C16 C14 D15 B14 A15 A14 E12 A11 B11 F12 A10 E11 G12 E15 B15 D12 E18 G18 B17 B13 D18 F18 A17

Power RailVDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR

I/O TypeDDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO

SignalDDR_D0 DDR_D1 DDR_D2 DDR_D3 DDR_D4 DDR_D5 DDR_D6 DDR_D7 DDR_D8 DDR_D9 DDR_D10 DDR_D11 DDR_D12 DDR_D13 DDR_D14 DDR_D15 DDR_D16 DDR_D17 DDR_D18 DDR_D19 DDR_D20 DDR_D21 DDR_D22 DDR_D23 DDR_D24 DDR_D25 DDR_D26 DDR_D27 DDR_D28 DDR_D29 DDR_D30 DDR_D31 DDR_DQM0 DDR_DQM1 DDR_DQM2 DDR_DQM3 DDR_DQS0 DDR_DQS1 DDR_DQS2 DDR_DQS3 DDR_DQSN0 DDR_DQSN1 DDR_DQSN2

DirI/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O O O O O I/O I/O I/O I/O I/O I/O I/O

Signal

Dir

Signal

Dir

Signal

Dir

Signal

Dir

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

16

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STI, PU O O O O O O O O O O O O I O, PD O, PD O, PD O, PD DHSDP DHSDM O, PD O, PD I I

PinA13 C8 B12 A12 B7 C12 E13 G11 A5 B5 E9 B6 F9 R11 U14 V14 U12 V12 U10 V10 V15 T13 C5, C7, D14, T15, T7, U17, V7 A16, C9, N13, T14, T8, V17 D13, F14, G10, G13, H11 E14, F10, F13, F15, H14 P12, T16 J11, T17 G7, V11 L11, M4

Power RailVDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VDDIODDR VBG VDDUTMII VDDUTMII VDDUTMII VDDUTMII VDDUTMII VDDUTMII VDDBU GNDBU

I/O TypeDDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO DDR_IO VBG USBHS USBHS USBHS USBHS USBHS USBHS power supply ground

SignalDDR_DQSN3 DDR_CS DDR_CLK DDR_CLKN DDR_CKE DDR_CALN DDR_CALP DDR_RAS DDR_CAS DDR_WE DDR_BA0 DDR_BA1 DDR_BA2 VBG HHSDPC HHSDMC HHSDPB HHSDMB HHSDPA HHSDMA VDDBU GNDBU

DirI/O O O O O I I O O O O O O I I/O I/O I/O I/O I/O I/O I I

Signal

Dir

Signal

Dir

Signal

Dir

Signal

Dir

VDDCORE

power supply

VDDCORE

I

I

GNDCORE

ground

GNDCORE

I

I

VDDIODDR

power supply

VDDIODDR

I

I

GNDIODDR

ground

GNDIODDR

I

I

VDDIOM

power supply

VDDIOM

I

I

GNDIOM

ground

GNDIOM

I

I

VDDIOP0

power supply

VDDIOP0

I

I

VDDIOP1

power supply

VDDIOP1

I

I

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

17

Table 4-1.

SAMA5D3 Pinout for 324-ball LFBGA Package (Continued)Primary Alternate PIO Peripheral A PIO Peripheral B PIO Peripheral C Reset State Signal, Dir, PU, PD, HiZ, STI

PinE5, J7, N11, U7 V13 U13 R12 R10 P10 U11 T11 L6 L4 L5 R3 P4

Power RailGNDIOP

I/O TypeGround

SignalGNDIOP

DirI

Signal

Dir

Signal

Dir

Signal

Dir

Signal

Dir

VDDUTMIC VDDUTMII GNDUTMI VDDPLLA GNDPLL VDDOSC GNDOSC VDDANA GNDANA VDDANA VDDFUSE GNDFUSE

Power supply Power supply Ground Power supply Ground Power supply Ground Power supply Ground Power supply Power supply Ground

VDDUTMIC VDDUTMII GNDUTMI VDDPLLA GNDPLL VDDOSC GNDOSC VDDANA GNDANA ADVREF VDDFUSE GNDFUSE

I I I I I I I I I I I I

I I I I I I I I I I I I

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

18

4.3

Input/Output DescriptionSAMA5 I/O Types DescriptionVoltage Range 1.65-3.6V 1.65-3.6V 1.65-3.6V 3.0-3.6V 1.65-1.95V, 3.0-3.6V 3.0-3.6V 1.65-3.6V 3.0-3.6V 1.65-3.6V 3.0-3.6V I/O I/O I/O I Pull-up Analog Pull-up Switchable Switchable Switchable Switchable Switchable Reset State Typ Value (Ohm) 100K 100K 100K 100K 100K 100K Switchable Reset State Reset State 100K 100K 15K Reset State Reset State Pull-down Switchable Switchable Switchable Pull-down Typ Value (Ohm) 100K 100K 100K Schmitt Trigger Switchable Switchable Switchable Switchable

Table 4-2.I/O Type GPIO GPIO_CLK GPIO_CLK2 GPIO_ANA EBI RSTJTAG SYSC USBHS CLOCK DIB

When Reset State is indicated, the configuration is defined by the Reset State column of the Pin Description table (see Table 4-1 on page 11).

Table 4-3.I/O Type GPIO MCI_CLK GPIO_CLK GPIO_CLK2 GPIO_ANA

SAMA5 I/O Type Assignation and FrequencyI/O Frequency (MHz) 33 52 66 75 25 Load (pF) 40 20 20 20 20 16 mA, 40 mA (peak) Fan-out Drive Control High/Medium/Low High/Medium/Low High/Medium/Low High/Medium/Low Fixed to Medium High/Medium/Low 1.8V/3.3V High/Medium/Low Fixed to Low Fixed to Medium No No No No High/Medium/Low Signal Name All PIO lines except the lines indicated further on in this table MCI0CK, MCI1CK,MCI2CK SPI0CK, SPI1CK, ETXCLK,ERXCLK LCDDOTCK ADx

EBI DDR_IO RST JTAG SYSC VBG USBHS CLOCK GMAC

66 166 3 10 0.25 0.25 480 50 125

50 20 10 10 10 10 20 50 15

All EBI signals All DDR signals NRST, NTRST, BMS TCK, TDI, TMS, TDO WKUP, SHDN, JTAGSEL, TST, SHDN VBG HHSDPC, HHSDPB, HHSDPA/DHSDP, HHSDMC, HHSDMB, HHSDMA/DHSDM XIN, XOUT, XIN32, XOUT32 Gigabit Ethernet I/Os

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

19

5.5.1

Power ConsiderationsPower SuppliesTable 5-1 defines the power supply rails and the estimated power consumption at typical voltage.Table 5-1. Name SAMA5D3 Power supplies Voltage Range, Nominal 1.1-1.32V, 1.2V 1.7-1.9V, 1.8V 1.14-1.30, 1.2V 1.65-1.95V, 1.8V 3.0-3.6V, 3.3V 1.65-3.6V 1.65-3.6V 1.65-3.6V 1.1-1.32V, 1.2V 3.0-3.6V, 3.3V 1.1-1.32V, 1.2V 1.65-3.6V 3.0-3.6V, 3.3V 2.25-2.75V, 2.5V Associated Ground Powers The core, including the processor, the embedded memories and the peripherals LPDDR/DDR2 Interface I/O lines LPDDR2 Interface I/O lines NAND and HSMC Interface I/O lines Peripheral I/O lines Peripheral I/O lines The Slow Clock oscillator, the internal 32 kHz RC Oscillator and a part of the System Controller The USB device and host UTMI+ core The UTMI PLL The USB device and host UTMI+ interface The PLLA cell Main Oscillator cell and VBG if 3.0VUDPHS_CTRL &= ~AT91C_UDPHS_EN_UDPHS; AT91C_BASE_UDPHS->UDPHS_CTRL |= AT91C_UDPHS_EN_UDPHS; // With OR without DMA !!! for( i=1; iUDPHS_IPFEATURES & AT91C_UDPHS_DMA_CHANNEL_NBR)>>4); i++ ) { // RESET endpoint canal DMA: // DMA stop channel command AT91C_BASE_UDPHS->UDPHS_DMA[i].UDPHS_DMACONTROL = 0; // STOP command // Disable endpoint AT91C_BASE_UDPHS->UDPHS_EPT[i].UDPHS_EPTCTLDIS |= 0XFFFFFFFF; // Reset endpoint config AT91C_BASE_UDPHS->UDPHS_EPT[i].UDPHS_EPTCTLCFG = 0; // Reset DMA channel (Buff count and Control field) AT91C_BASE_UDPHS->UDPHS_DMA[i].UDPHS_DMACONTROL = 0x02; // NON STOP command // Reset DMA channel 0 (STOP) AT91C_BASE_UDPHS->UDPHS_DMA[i].UDPHS_DMACONTROL = 0; // STOP command // Clear DMA channel status (read the register for clear it) AT91C_BASE_UDPHS->UDPHS_DMA[i].UDPHS_DMASTATUS = AT91C_BASE_UDPHS->UDPHS_DMA[i].UDPHS_DMASTATUS; }

32.6.10 Handling Transactions with USB V2.0 Device Peripheral32.6.10.1 Setup Transaction The setup packet is valid in the DPR while RX_SETUP is set. Once RX_SETUP is cleared by the application, the UDPHS accepts the next packets sent over the device endpoint. When a valid setup packet is accepted by the UDPHS:z z z z

The UDPHS device automatically acknowledges the setup packet (sends an ACK response) Payload data is written in the endpoint Sets the RX_SETUP interrupt The BYTE_COUNT field in the UDPHS_EPTSTAx register is updated

An endpoint interrupt is generated while RX_SETUP in the UDPHS_EPTSTAx register is not cleared. This interrupt is carried out to the microcontroller if interrupts are enabled for this endpoint. Thus, firmware must detect RX_SETUP polling UDPHS_EPTSTAx or catching an interrupt, read the setup packet in the FIFO, then clear the RX_SETUP bit in the UDPHS_EPTCLRSTA register to acknowledge the setup stage. If STALL_SNT was set to 1, then this bit is automatically reset when a setup token is detected by the device. Then, the device still accepts the setup stage. (See Section 32.6.10.15 STALL on page 766).

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

756

32.6.10.2 NYET NYET is a High Speed only handshake. It is returned by a High Speed endpoint as part of the PING protocol. High Speed devices must support an improved NAK mechanism for Bulk OUT and control endpoints (except setup stage). This mechanism allows the device to tell the host whether it has sufficient endpoint space for the next OUT transfer (see USB 2.0 spec 8.5.1 NAK Limiting via Ping Flow Control). The NYET/ACK response to a High Speed Bulk OUT transfer and the PING response are automatically handled by hardware in the UDPHS_EPTCTLx register (except when the user wants to force a NAK response by using the NYET_DIS bit). If the endpoint responds instead to the OUT/DATA transaction with an NYET handshake, this means that the endpoint accepted the data but does not have room for another data payload. The host controller must return to using a PING token until the endpoint indicates it has space available.Figure 32-8. NYET Example with Two Endpoint Banks

data 0 ACK

data 1 NYET

PING

ACK

data 0 NYET

PING

NACK

PING

ACK

t=0

t = 125 s

t = 250 s

t = 375 s

t = 500 s

t = 625 s

E: empty E': begin to empty F: full

Bank 1 E Bank 0 F

Bank 1 F Bank 1 F Bank 0 E' Bank 0 E

Bank 1 F Bank 0 E

Bank 1 F Bank 0 F

Bank 1 E' Bank 0 F

Bank 1 E Bank 0 F

32.6.10.3 Data IN 32.6.10.4 Bulk IN or Interrupt IN Data IN packets are sent by the device during the data or the status stage of a control transfer or during an (interrupt/bulk/isochronous) IN transfer. Data buffers are sent packet by packet under the control of the application or under the control of the DMA channel. There are three ways for an application to transfer a buffer in several packets over the USB:z z z

packet by packet (see 32.6.10.5 below)64 KB (see 32.6.10.5 below)

DMA (see 32.6.10.6 below)

32.6.10.5 Bulk IN or Interrupt IN: Sending a Packet Under Application Control (Device to Host) The application can write one or several banks. A simple algorithm can be used by the application to send packets regardless of the number of banks associated to the endpoint. Algorithm Description for Each Packet:z z z

The application waits for TXRDY flag to be cleared in the UDPHS_EPTSTAx register before it can perform a write access to the DPR. The application writes one USB packet of data in the DPR through the 64 KB endpoint logical memory window. The application sets TXRDY flag in the UDPHS_EPTSETSTAx register.

The application is notified that it is possible to write a new packet to the DPR by the TXRDY interrupt. This interrupt can be enabled or masked by setting the TXRDY bit in the UDPHS_EPTCTLENB/UDPHS_EPTCTLDIS register. Algorithm Description to Fill Several Packets: Using the previous algorithm, the application is interrupted for each packet. It is possible to reduce the application overhead by writing linearly several banks at the same time. The AUTO_VALID bit in the UDPHS_EPTCTLx must be set by writing the AUTO_VALID bit in the UDPHS_EPTCTLENBx register.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

757

The auto-valid-bank mechanism allows the transfer of data (IN and OUT) without the intervention of the CPU. This means that bank validation (set TXRDY or clear the RXRDY_TXKL bit) is done by hardware.z z z

The application checks the BUSY_BANK_STA field in the UDPHS_EPTSTAx register. The application must wait that at least one bank is free. The application writes a number of bytes inferior to the number of free DPR banks for the endpoint. Each time the application writes the last byte of a bank, the TXRDY signal is automatically set by the UDPHS. If the last packet is incomplete (i.e., the last byte of the bank has not been written) the application must set the TXRDY bit in the UDPHS_EPTSETSTAx register.

The application is notified that all banks are free, so that it is possible to write another burst of packets by the BUSY_BANK interrupt. This interrupt can be enabled or masked by setting the BUSY_BANK flag in the UDPHS_EPTCTLENB and UDPHS_EPTCTLDIS registers. This algorithm must not be used for isochronous transfer. In this case, the ping-pong mechanism does not operate. A Zero Length Packet can be sent by setting just the TXRDY flag in the UDPHS_EPTSETSTAx register. 32.6.10.6 Bulk IN or Interrupt IN: Sending a Buffer Using DMA (Device to Host) The UDPHS integrates a DMA host controller. This DMA controller can be used to transfer a buffer from the memory to the DPR or from the DPR to the processor memory under the UDPHS control. The DMA can be used for all transfer types except control transfer. Example DMA configuration: 1. 2. 3. Program UDPHS_DMAADDRESS x with the address of the buffer that should be transferred. Enable the interrupt of the DMA in UDPHS_IEN Program UDPHS_ DMACONTROLx:z z

Size of buffer to send: size of the buffer to be sent to the host. END_B_EN: The endpoint can validate the packet (according to the values programmed in the AUTO_VALID and SHRT_PCKT fields of UDPHS_EPTCTLx.) (See UDPHS Endpoint Control Disable Register (Isochronous Endpoint) on page 791 and Figure 32-13. Autovalid with DMA) END_BUFFIT: generate an interrupt when the BUFF_COUNT in UDPHS_DMASTATUSx reaches 0. CHANN_ENB: Run and stop at end of buffer

z z

The auto-valid-bank mechanism allows the transfer of data (IN & OUT) without the intervention of the CPU. This means that bank validation (set TXRDY or clear the RXRDY_TXKL bit) is done by hardware. A transfer descriptor can be used. Instead of programming the register directly, a descriptor should be programmed and the address of this descriptor is then given to UDPHS_DMANXTDSC to be processed after setting the LDNXT_DSC field (Load Next Descriptor Now) in UDPHS_DMACONTROLx register. The structure that defines this transfer descriptor must be aligned. Each buffer to be transferred must be described by a DMA Transfer descriptor (see UDPHS DMA Channel Transfer Descriptor on page 810). Transfer descriptors are chained. Before executing transfer of the buffer, the UDPHS may fetch a new transfer descriptor from the memory address pointed by the UDPHS_DMANXTDSCx register. Once the transfer is complete, the transfer status is updated in the UDPHS_DMASTATUSx register. To chain a new transfer descriptor with the current DMA transfer, the DMA channel must be stopped. To do so, INTDIS_DMA and TXRDY may be set in the UDPHS_EPTCTLENBx register. It is also possible for the application to wait for the c omple tion of all trans fers. In t his ca se the LDNXT_DSC f ield in the las t trans fer desc ripto r UDPHS_DMACONTROLx register must be set to 0 and CHANN_ENB set to 1. Then the application can chain a new transfer descriptor. The INTDIS_DMA can be used to stop the current DMA transfer if an enabled interrupt is triggered. This can be used to stop DMA transfers in case of errors. The application can be notified at the end of any buffer transfer (ENB_BUFFIT bit in the UDPHS_DMACONTROLx register).

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

758

Figure 32-9. Data IN Transfer for Endpoint with One BankPrevous Data IN TX Microcontroller Loads Data in FIFO Data is Sent on USB Bus

USB Bus Packets

Token IN

Data IN 1

ACK

Token IN

NAK

Token IN

Data IN 2

ACK

TXRDY Flag (UDPHS_EPTSTAx) Set by firmware

Cleared by hardware

Set by the firmware Interrupt Pending

Cleared by hardware Interrupt Pending Payload in FIFO

TX_COMPLT Flag (UDPHS_EPTSTAx)

Set by hardware DPR access by firmware

Cleared by firmware DPR access by hardware Data IN 2

Cleared by firmware

FIFO Content

Data IN 1

Load in progress

Figure 32-10. Data IN Transfer for Endpoint with Two BanksMicrocontroller Load Data IN Bank 0 USB Bus Packets Microcontroller Load Data IN Bank 1 UDPHS Device Send Bank 0 Microcontroller Load Data IN Bank 0 UDPHS Device Send Bank 1

Token IN

Data IN

ACK

Token IN

Data IN

ACK

Set by Firmware, Cleared by Hardware Data Payload Written switch to next bank in FIFO Bank 0 Virtual TXRDY bank 0 (UDPHS_EPTSTAx) Virtual TXRDY bank 1 (UDPHS_EPTSTAx)

Cleared by Hardware Data Payload Fully Transmitted

Set by Firmware, Data Payload Written in FIFO Bank 1 Interrupt Pending Set by Hardware Interrupt Cleared by Firmware Set by Hardware

TX_COMPLT Flag (UDPHS_EPTSTAx) FIFO (DPR) Bank 0

Written by Microcontroller

Read by USB Device

Written by Microcontroller

FIFO (DPR) Bank1

Written by Microcontroller

Read by UDPHS Device

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

759

Figure 32-11. Data IN Followed By Status OUT Transfer at the End of a Control TransferDevice Sends the Last Data Payload to Host USB Bus Packets Device Sends a Status OUT to Host ACK ACK

Token IN

Data IN

ACK

Token OUT

Data OUT (ZLP)

Token OUT

Data OUT (ZLP)

Interrupt PendingRXRDY (UDPHS_EPTSTAx) Set by Hardware Cleared by Firmware TX_COMPLT (UDPHS_EPTSTAx) Set by Hardware Cleared by Firmware

Note:

A NAK handshake is always generated at the first status stage token.

Figure 32-12. Data OUT Followed by Status IN TransferHost Sends the Last Data Payload to the Device Device Sends a Status IN to the Host

USB Bus Packets

Token OUT

Data OUT

ACK

Token IN

Data IN

ACK

Interrupt Pending RXRDY (UDPHS_EPTSTAx) Set by Hardware TXRDY (UDPHS_EPTSTAx) Set by Firmware Clear by Hardware

Cleared by Firmware

Note:

Before proceeding to the status stage, the software should determine that there is no risk of extra data from the host (data stage). If not certain (non-predictable data stage length), then the software should wait for a NAK-IN interrupt before proceeding to the status stage. This precaution should be taken to avoid collision in the FIFO.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

760

Figure 32-13. Autovalid with DMABank (system) Bank 0 Bank 1 Bank 0 Bank 1

Write

write bank 0

write bank 1 bank 1 is full

write bank 0 bank 0 is full

bank 0 is full

Bank 1

Bank 0 IN data 0 IN data 1 IN data 0

Bank (usb)

Bank 0

Bank 1

Bank 0

Bank 1

Virtual TXRDY Bank 0

Virtual TXRDY Bank 1

TXRDY (Virtual 0 & Virtual 1)

Note:

In the illustration above Autovalid validates a bank as full, although this might not be the case, in order to continue processing data and to send to DMA.

32.6.10.7 Isochronous IN Isochronous-IN is used to transmit a stream of data whose timing is implied by the delivery rate. Isochronous transfer provides periodic, continuous communication between host and device. It guarantees bandwidth and low latencies appropriate for telephony, audio, video, etc. If the endpoint is not available (TXRDY_TRER = 0), then the device does not answer to the host. An ERR_FL_ISO interrupt is generated in the UDPHS_EPTSTAx register and once enabled, then sent to the CPU. The STALL_SNT command bit is not used for an ISO-IN endpoint. 32.6.10.8 High Bandwidth Isochronous Endpoint Handling: IN Example For high bandwidth isochronous endpoints, the DMA can be programmed with the number of transactions (BUFF_LENGTH field in UDPHS_DMACONTROLx) and the system should provide the required number of packets per microframe, otherwise, the host will notice a sequencing problem. A response should be made to the first token IN recognized inside a microframe under the following conditions:z

If at least one bank has been validated, the correct DATAx corresponding to the programmed Number Of Transactions per Microframe (NB_TRANS) should be answered. In case of a subsequent missed or corrupted token IN inside the microframe, the USB 2.0 Core available data bank(s) that should normally have been transmitted during that microframe shall be flushed at its end. If this flush occurs, an error condition is flagged (ERR_FLUSH is set in UDPHS_EPTSTAx).

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

761

z z

If no bank is validated yet, the default DATA0 ZLP is answered and underflow is flagged (ERR_FL_ISO is set in UDPHS_EPTSTAx). Then, no data bank is flushed at microframe end. If no data bank has been validated at the time when a response should be made for the second transaction of NB_TRANS = 3 transactions microframe, a DATA1 ZLP is answered and underflow is flagged (ERR_FL_ISO is set in UDPHS_EPTSTAx). If and only if remaining untransmitted banks for that microframe are available at its end, they are flushed and an error condition is flagged (ERR_FLUSH is set in UDPHS_EPTSTAx). If no data bank has been validated at the time when a response should be made for the last programmed transaction of a microframe, a DATA0 ZLP is answered and underflow is flagged (ERR_FL_ISO is set in UDPHS_EPTSTAx). If and only if the remaining untransmitted data bank for that microframe is available at its end, it is flushed and an error condition is flagged (ERR_FLUSH is set in UDPHS_EPTSTAx). If at the end of a microframe no valid token IN has been recognized, no data bank is flushed and no error condition is reported.

z

z

At the end of a microframe in which at least one data bank has been transmitted, if less than NB_TRANS banks have been validated for that microframe, an error condition is flagged (ERR_TRANS is set in UDPHS_EPTSTAx). Cases of Error (in UDPHS_EPTSTAx)z z

ERR_FL_ISO: There was no data to transmit inside a microframe, so a ZLP is answered by default. ERR_FLUSH: At least one packet has been sent inside the microframe, but the number of token IN received is lesser than the number of transactions actually validated (TXRDY_TRER) and likewise with the NB_TRANS programmed. ERR_TRANS: At least one packet has been sent inside the microframe, but the number of token IN received is lesser than the number of programmed NB_TRANS transactions and the packets not requested were not validated. ERR_FL_ISO + ERR_FLUSH: At least one packet has been sent inside the microframe, but the data has not been validated in time to answer one of the following token IN. ERR_FL_ISO + ERR_TRANS: At least one packet has been sent inside the microframe, but the data has not been validated in time to answer one of the following token IN and the data can be discarded at the microframe end. ERR_FLUSH + ERR_TRANS: The first token IN has been answered and it was the only one received, a second bank has been validated but not the third, whereas NB_TRANS was waiting for three transactions. ERR_FL_ISO + ERR_FLUSH + ERR_TRANS: The first token IN has been treated, the data for the second Token IN was not available in time, but the second bank has been validated before the end of the microframe. The third bank has not been validated, but three transactions have been set in NB_TRANS.

z

z z z z

32.6.10.9 Data OUT 32.6.10.10 Bulk OUT or Interrupt OUT Like data IN, data OUT packets are sent by the host during the data or the status stage of control transfer or during an interrupt/bulk/isochronous OUT transfer. Data buffers are sent packet by packet under the control of the application or under the control of the DMA channel. 32.6.10.11 Bulk OUT or Interrupt OUT: Receiving a Packet Under Application Control (Host to Device) Algorithm Description for Each Packet:z z z z

The application enables an interrupt on RXRDY_TXKL. When an interrupt on RXRDY_TXKL is received, the application knows that UDPHS_EPTSTAx register BYTE_COUNT bytes have been received. The application reads the BYTE_COUNT bytes from the endpoint. The application clears RXRDY_TXKL. If the application does not know the size of the transfer, it may not be a good option to use AUTO_VALID. Because if a zero-length-packet is received, the RXRDY_TXKL is automatically cleared by the AUTO_VALID hardware and if the endpoint interrupt is triggered, the software will not find its originating flag when reading the UDPHS_EPTSTAx register.

Note:

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

762

Algorithm to Fill Several Packets:z z

The application enables the interrupts of BUSY_BANK and AUTO_VALID. When a BUSY_BANK interrupt is received, the application knows that all banks available for the endpoint have been filled. Thus, the application can read all banks available.

If the application doesnt know the size of the receive buffer, instead of using the BUSY_BANK interrupt, the application must use RXRDY_TXKL. 32.6.10.12 Bulk OUT or Interrupt OUT: Sending a Buffer Using DMA (Host To Device) To use the DMA setting, the AUTO_VALID field is mandatory. See 32.6.10.6 Bulk IN or Interrupt IN: Sending a Buffer Using DMA (Device to Host) for more information. DMA Configuration Example: 1. 2. 3. First program UDPHS_DMAADDRESSx with the address of the buffer that should be transferred. Enable the interrupt of the DMA in UDPHS_IEN Program the DMA Channelx Control Register:z z z z z

Size of buffer to be sent. END_B_EN: Can be used for OUT packet truncation (discarding of unbuffered packet data) at the end of DMA buffer. END_BUFFIT: Generate an interrupt when BUFF_COUNT in the UDPHS_DMASTATUSx register reaches 0. END_TR_EN: End of transfer enable, the UDPHS device can put an end to the current DMA transfer, in case of a short packet. END_TR_IT: End of transfer interrupt enable, an interrupt is sent after the last USB packet has been transferred by the DMA, if the USB transfer ended with a short packet. (Beneficial when the receive size is unknown.) CHANN_ENB: Run and stop at end of buffer.

z

For OUT transfer, the bank will be automatically cleared by hardware when the application has read all the bytes in the bank (the bank is empty). Notes: 1. 2. When a zero-length-packet is received, RXRDY_TXKL bit in UDPHS_EPTSTAx is cleared automatically by AUTO_VALID, and the application knows of the end of buffer by the presence of the END_TR_IT. If the host sends a zero-length packet, and the endpoint is free, then the device sends an ACK. No data is written in the endpoint, the RXRDY_TXKL interrupt is generated, and the BYTE_COUNT field in UDPHS_EPTSTAx is null.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

763

Figure 32-14. Data OUT Transfer for Endpoint with One BankHost Sends Data Payload Microcontroller Transfers Data Host Sends the Next Data Payload Host Resends the Next Data Payload

USB Bus Packets

Token OUT

Data OUT 1

ACK

Token OUT

Data OUT 2

NAK

Token OUT

Data OUT 2

ACK

RXRDY (UDPHS_EPTSTAx)

Interrupt Pending Set by Hardware Cleared by Firmware, Data Payload Written in FIFO Data OUT 2 Written by UDPHS Device

FIFO (DPR) Content

Data OUT 1 Written by UDPHS Device

Data OUT 1 Microcontroller Read

Figure 32-15. Data OUT Transfer for an Endpoint with Two BanksHost sends first data payload Microcontroller reads Data 1 in bank 0, Host sends second data payload Microcontroller reads Data 2 in bank 1, Host sends third data payload

USB Bus Packets

Token OUT

Data OUT 1

ACK

Token OUT

Data OUT 2

ACK

Token OUT

Data OUT 3

Virtual RXRDY Bank 0

Interrupt pending Set by Hardware, Data payload written in FIFO endpoint bank 0 Set by Hardware Data Payload written in FIFO endpoint bank 1

Cleared by Firmware

Cleared by Firmware Interrupt pending

Virtual RXRDY Bank 1 RXRDY = (virtual bank 0 | virtual bank 1) (UDPHS_EPTSTAx) FIFO (DPR) Bank 0 Data OUT 1 Write by UDPHS Device FIFO (DPR) Bank 1

Data OUT 1 Read by Microcontroller

Data OUT 3 Write in progress

Data OUT 2 Write by Hardware

Data OUT 2 Read by Microcontroller

32.6.10.13 High Bandwidth Isochronous Endpoint OUTFigure 32-16. Bank Management, Example of Three Transactions per Microframe

USB bus Transactions

MDATA0

MDATA1

DATA2

MDATA0

MDATA1

DATA2

t=0 RXRDY Microcontroller FIFO (DPR) Access

t = 52.5 s (40% of 125 s)

t = 125 s RXRDY

USB line

Read Bank 1

Read Bank 2

Read Bank 3

Read Bank 1

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

764

USB 2.0 supports individual High Speed isochronous endpoints that require data rates up to 192 Mb/s (24 MB/s): 3x1024 data bytes per microframe. To support such a rate, two or three banks may be used to buffer the three consecutive data packets. The microcontroller (or the DMA) should be able to empty the banks very rapidly (at least 24 MB/s on average). NB_TRANS field in UDPHS_EPTCFGx register = Number Of Transactions per Microframe. If NB_TRANS > 1 then it is High Bandwidth. Example:z

If NB_TRANS = 3, the sequence should be eitherz z z

MData0 MData0/Data1 MData0/Data1/Data2 MData0 MData0/Data1 Data0

z

If NB_TRANS = 2, the sequence should be eitherz z

z

If NB_TRANS = 1, the sequence should bez

32.6.10.14 Isochronous Endpoint Handling: OUT Example The user can ascertain the bank status (free or busy), and the toggle sequencing of the data packet for each bank with the UDPHS_EPTSTAx register in the three bit fields as follows:z z z

TOGGLESQ_STA: PID of the data stored in the current bank CURBK: Number of the bank currently being accessed by the microcontroller. BUSY_BANK_STA: Number of busy bank

This is particularly useful in case of a missing data packet. If the inter-packet delay between the OUT token and the Data is greater than the USB standard, then the ISO-OUT transaction is ignored. (Payload data is not written, no interrupt is generated to the CPU.) If there is a data CRC (Cyclic Redundancy Check) error, the payload is, none the less, written in the endpoint. The ERR_CRC_NTR flag is set in UDPHS_EPTSTAx register. If the endpoint is already full, the packet is not written in the DPRAM. The ERR_FL_ISO flag is set in UDPHS_EPTSTAx. If the payload data is greater than the maximum size of the endpoint, then the ERR_OVFLW flag is set. It is the task of the CPU to manage this error. The data packet is written in the endpoint (except the extra data). If the host sends a Zero Length Packet, and the endpoint is free, no data is written in the endpoint, the RXRDY_TXKL flag is set, and the BYTE_COUNT field in UDPHS_EPTSTAx register is null. The FRCESTALL command bit is unused for an isochonous endpoint. Otherwise, payload data is written in the endpoint, the RXRDY_TXKL interrupt is generated and the BYTE_COUNT in UDPHS_EPTSTAx register is updated.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

765

32.6.10.15 STALL STALL is returned by a function in response to an IN token or after the data phase of an OUT or in response to a PING transaction. STALL indicates that a function is unable to transmit or receive data, or that a control pipe request is not supported.z

OUT

To stall an endpoint, set the FRCESTALL bit in UDPHS_EPTSETSTAx register and after the STALL_SNT flag has been set, set the TOGGLE_SEG bit in the UDPHS_EPTCLRSTAx register.z

IN

Set the FRCESTALL bit in UDPHS_EPTSETSTAx register.Figure 32-17. Stall Handshake Data OUT TransferUSB Bus Packets Token OUT Data OUT Stall PID

FRCESTALL Set by Firmware Cleared by Firmware Interrupt Pending

STALL_SNT Set by Hardware Cleared by Firmware

Figure 32-18. Stall Handshake Data IN TransferUSB Bus Packets

Token IN

Stall PID

FRCESTALL Set by Firmware Cleared by Firmware Interrupt Pending STALL_SNT Set by Hardware Cleared by Firmware

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

766

32.6.11 Speed IdentificationThe high speed reset is managed by the hardware. At the connection, the host makes a reset which could be a classic reset (full speed) or a high speed reset. At the end of the reset process (full or high), the ENDRESET interrupt is generated. Then the CPU should read the SPEED bit in UDPHS_INTSTAx to ascertain the speed mode of the device.

32.6.12 USB V2.0 High Speed Global InterruptInterrupts are defined in Section 32.7.3 UDPHS Interrupt Enable Register (UDPHS_IEN) and in Section 32.7.4 UDPHS Interrupt Status Register (UDPHS_INTSTA).

32.6.13 Endpoint InterruptsInterrupts are enabled in UDPHS_IEN (see Section 32.7.3 UDPHS Interrupt Enable Register) and individually masked in UDPHS_EPTCTLENBx (see Section 32.7.9 UDPHS Endpoint Control Enable Register (Control, Bulk, Interrupt Endpoints)).Table 32-5. Endpoint Interrupt Source Masks SHRT_PCKT BUSY_BANK NAK_OUT NAK_IN/ERR_FLUSH STALL_SNT/ERR_CRC_NTR RX_SETUP/ERR_FL_ISO TXRDY_TRER TX_COMPLT RXRDY_TXKL ERR_OVFLW MDATA_RX DATAX_RX Short Packet Interrupt Busy Bank Interrupt NAKOUT Interrupt NAKIN/Error Flush Interrupt Stall Sent/CRC error/Number of Transaction Error Interrupt Received SETUP/Error Flow Interrupt TX Packet Read/Transaction Error Interrupt Transmitted IN Data Complete Interrupt Received OUT Data Interrupt Overflow Error Interrupt MDATA Interrupt DATAx Interrupt

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

767

Figure 32-19. UDPHS Interrupt Control Interface(UDPHS_IEN) DET_SUSPD MICRO_SOF USB Global IT Sources INT_SOF ENDRESET WAKE_UP ENDOFRSM UPSTR_RES Global IT mask Global IT sources

(UDPHS_EPTCTLENBx) SHRT_PCKT BUSY_BANK NAK_OUT NAK_IN/ERR_FLUSH STALL_SNT/ER_CRC_NTR EPT0 IT Sources RX_SETUP/ERR_FL_ISO TXRDY_TRER TX_COMPLT RXRDY_TXKL ERR_OVFLW MDATA_RX DATAX_RX EP mask EP sources (UDPHS_IEN) EPT_x EP sources EP mask (UDPHS_IEN) EPT_0 husb2dev interrupt

EPT1-6 IT Sources

(UDPHS_EPTCTLx) INTDIS_DMA disable DMA channelx request

(UDPHS_DMACONTROLx) EN_BUFFIT

mask (UDPHS_IEN) DMA_x mask

DMA CH x

END_TR_IT mask DESC_LD_IT

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

768

32.6.14 Power Modes32.6.14.1 Controlling Device States A USB device has several possible states. Refer to Chapter 9 (USB Device Framework) of the Universal Serial Bus Specification, Rev 2.0.Figure 32-20. UDPHS Device State Diagram

Attached

Hub Reset Hub or Configured Deconfigured Bus Inactive Powered Bus Activity Power Interruption Reset Bus Inactive Default Reset Address Assigned Bus Inactive Address Bus Activity Device Deconfigured Device Configured Bus Inactive Suspended Bus Activity Suspended Bus Activity Suspended Suspended

Configured

Movement from one state to another depends on the USB bus state or on standard requests sent through control transactions via the default endpoint (endpoint 0). After a period of bus inactivity, the USB device enters Suspend Mode. Accepting Suspend/Resume requests from the USB host is mandatory. Constraints in Suspend Mode are very strict for bus-powered applications; devices may not consume more than 500 A on the USB bus. While in Suspend Mode, the host may wake up a device by sending a resume signal (bus activity) or a USB device may send a wake-up request to the host, e.g., waking up a PC by moving a USB mouse. The wake-up feature is not mandatory for all devices and must be negotiated with the host.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

769

32.6.14.2 Not Powered State Self powered devices can detect 5V VBUS using a PIO. When the device is not connected to a host, device power consumption can be reduced by the DETACH bit in UDPHS_CTRL. Disabling the transceiver is automatically done. HSDM, HSDP, FSDP and FSDP lines are tied to GND pull-downs integrated in the hub downstream ports. 32.6.14.3 Entering Attached State When no device is connected, the USB FSDP and FSDM signals are tied to GND by 15 K pull-downs integrated in the hub downstream ports. When a device is attached to an hub downstream port, the device connects a 1.5 K pull-up on FSDP. The USB bus line goes into IDLE state, FSDP is pulled-up by the device 1.5 K resistor to 3.3V and FSDM is pulled-down by the 15 K resistor to GND of the host. After pull-up connection, the device enters the powered state. The transceiver remains disabled until bus activity is detected. In case of low power consumption need, the device can be stopped. When the device detects the VBUS, the software must enable the USB transceiver by enabling the EN_UDPHS bit in UDPHS_CTRL register. The software can detach the pull-up by setting DETACH bit in UDPHS_CTRL register. 32.6.14.4 From Powered State to Default State (Reset) After its connection to a USB host, the USB device waits for an end-of-bus reset. The unmasked flag ENDRESET is set in the UDPHS_IEN register and an interrupt is triggered. Once the ENDRESET interrupt has been triggered, the device enters Default State. In this state, the UDPHS software must:z

Enable the default endpoint, setting the EPT_ENABL flag in the UDPHS_EPTCTLENB[0] register and, optionally, enabling the interrupt for endpoint 0 by writing 1 in EPT_0 of the UDPHS_IEN register. The enumeration then begins by a control transfer. Configure the Interrupt Mask Register which has been reset by the USB reset detection Enable the transceiver.

z z

In this state, the EN_UDPHS bit in UDPHS_CTRL register must be enabled. 32.6.14.5 From Default State to Address State (Address Assigned) After a Set Address standard device request, the USB host peripheral enters the address state. Warning: before the device enters address state, it must achieve the Status IN transaction of the control transfer, i.e., the UDPHS device sets its new address once the TX_COMPLT flag in the UDPHS_EPTCTL[0] register has been received and cleared. To move to address state, the driver software sets the DEV_ADDR field and the FADDR_EN flag in the UDPHS_CTRL register. 32.6.14.6 From Address State to Configured State (Device Configured) Once a valid Set Configuration standard request has been received and acknowledged, the device enables endpoints corresponding to the current configuration. This is done by setting the BK_NUMBER, EPT_TYPE, EPT_DIR and EPT_SIZE fields in the UDPHS_EPTCFGx registers and enabling them by setting the EPT_ENABL flag in the UDPHS_EPTCTLENBx registers, and, optionally, enabling corresponding interrupts in the UDPHS_IEN register. 32.6.14.7 Entering Suspend State (Bus Activity) When a Suspend (no bus activity on the USB bus) is detected, the DET_SUSPD signal in the UDPHS_STA register is set. This triggers an interrupt if the corresponding bit is set in the UDPHS_IEN register. This flag is cleared by writing to the UDPHS_CLRINT register. Then the device enters Suspend Mode. In this state bus powered devices must drain less than 500 A from the 5V VBUS. As an example, the microcontroller switches to slow clock, disables the PLL and main oscillator, and goes into Idle Mode. It may also switch off other devices on the board. The UDPHS device peripheral clocks can be switched off. Resume event is asynchronously detected.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

770

32.6.14.8 Receiving a Host Resume In Suspend mode, a resume event on the USB bus line is detected asynchronously, transceiver and clocks disabled (however the pull-up should not be removed). Once the resume is detected on the bus, the signal WAKE_UP in the UDPHS_INTSTA is set. It may generate an interrupt if the corresponding bit in the UDPHS_IEN register is set. This interrupt may be used to wake-up the core, enable PLL and main oscillators and configure clocks. 32.6.14.9 Sending an External Resume In Suspend State it is possible to wake-up the host by sending an external resume. The device waits at least 5 ms after being entered in Suspend State before sending an external resume. The device must force a K state from 1 to 15 ms to resume the host.

32.6.15 Test Mode A device must support the TEST_MODE feature when in the Default, Address or Configured High Speed device states. TEST_MODE can be: z Test_J z Test_K z Test_Packet z Test_SEO_NAK(See Section 32.7.7 UDPHS Test Register on page 781 for definitions of each test mode.) const char test_packet_buffer[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA, 0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE,0xEE, 0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, JJJJJJJKKKKKKK * 8 0x7F,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD, 0xFC,0x7E,0xBF,0xDF,0xEF,0xF7,0xFB,0xFD,0x7E 10}, JK };

// JKJKJKJK * 9 // JJKKJJKK * 8 // JJKKJJKK * 8 // // JJJJJJJK * 8 // {JKKKKKKK *

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

771

32.7Offset0x00 0x04

USB High Speed Device Port (UDPHS) User InterfaceRegisterUDPHS Control Register UDPHS Frame Number Register Reserved UDPHS Interrupt Enable Register UDPHS Interrupt Status Register UDPHS Clear Interrupt Register UDPHS Endpoints Reset Register Reserved UDPHS Test Register Reserved UDPHS Endpoint Configuration Register UDPHS Endpoint Control Enable Register UDPHS Endpoint Control Disable Register UDPHS Endpoint Control Register Reserved (for endpoint) UDPHS Endpoint Set Status Register UDPHS Endpoint Clear Status Register UDPHS Endpoint Status Register UDPHS Endpoint1 to 15 (2) Registers UDPHS DMA Next Descriptor Address Register UDPHS DMA Channel Address Register UDPHS DMA Channel Control Register UDPHS DMA Channel Status Register DMA Channel1 to 6(3)

Table 32-6. Register Mapping NameUDPHS_CTRL UDPHS_FNUM UDPHS_IEN UDPHS_INTSTA UDPHS_CLRINT UDPHS_EPTRST UDPHS_TST UDPHS_EPTCFG UDPHS_EPTCTLENB UDPHS_EPTCTLDIS UDPHS_EPTCTL UDPHS_EPTSETSTA UDPHS_EPTCLRSTA UDPHS_EPTSTA

AccessRead-write Read-only Read-write Read-only Write-only Write-only Read-write Read-write Write-only Write-only Read-only Write-only Write-only Read-only

Reset0x0000_0200 0x0000_0000 0x0000_0010 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000(1) 0x0000_0040

0x08 - 0x0C 0x10 0x14 0x18 0x1C 0x20 - 0xCC 0xE0 0xE4 - 0xE8 0x100 + endpoint * 0x20 + 0x00 0x100 + endpoint * 0x20 + 0x04 0x100 + endpoint * 0x20 + 0x08 0x100 + endpoint * 0x20 + 0x0C 0x100 + endpoint * 0x20 + 0x10 0x100 + endpoint * 0x20 + 0x14 0x100 + endpoint * 0x20 + 0x18 0x100 + endpoint * 0x20 + 0x1C 0x120 - 0x2FC 0x300 + channel * 0x10 + 0x00 0x300 + channel * 0x10 + 0x04 0x300 + channel * 0x10 + 0x08 0x300 + channel * 0x10 + 0x0C 0x310 - 0x36C

UDPHS_DMANXTDSC UDPHS_DMAADDRESS UDPHS_DMACONTROL UDPHS_DMASTATUS

Read-write Read-write Read-write Read-write

0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000

Registers

Notes: 1. The reset value for UDPHS_EPTCTL0 is 0x0000_0001. 2. The addresses for the UDPHS Endpoint registers shown here are for UDPHS Endpoint0. The structure of this group of registers is repeated successively for each endpoint according to the consecution of endpoint registers located between 0x120 and 0x2FC. 3. The DMA channel index refers to the corresponding EP number. When no DMA channel is assigned to one EP, the associated registers are reserved. This is the case for EP0, so DMA Channel 0 registers are reserved.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

772

32.7.1 UDPHS Control RegisterName: Address: Access:31 23 15 7 FADDR_EN

UDPHS_CTRL 0xF8030000 Read-write30 22 14 6 29 21 13 5 28 20 12 4 27 19 11 PULLD_DIS 3 DEV_ADDR 26 18 10 REWAKEUP 2 25 17 9 DETACH 1 24 16 8 EN_UDPHS 0

DEV_ADDR: UDPHS AddressThis field contains the default address (0) after power-up or UDPHS bus reset (read), or it is written with the value set by a SET_ADDRESS request received by the device firmware (write).

FADDR_EN: Function Address Enable0 = Device is not in address state (read), or only the default function address is used (write). 1 = Device is in address state (read), or this bit is set by the device firmware after a successful status phase of a SET_ADDRESS transaction (write). When set, the only address accepted by the UDPHS controller is the one stored in the UDPHS Address field. It will not be cleared afterwards by the device firmware. It is cleared by hardware on hardware reset, or when UDPHS bus reset is received.

EN_UDPHS: UDPHS Enable0 = UDPHS is disabled (read), or this bit disables and resets the UDPHS controller (write). Switch the host to UTMI. 1 = UDPHS is enabled (read), or this bit enables the UDPHS controller (write). Switch the host to UTMI.

DETACH: Detach Command0 = UDPHS is attached (read), or this bit pulls up the DP line (attach command) (write). 1 = UDPHS is detached, UTMI transceiver is suspended (read), or this bit simulates a detach on the UDPHS line and forces the UTMI transceiver into suspend state (Suspend M = 0) (write). See PULLD_DIS description below.

REWAKEUP: Send Remote Wake Up0 = Remote Wake Up is disabled (read), or this bit has no effect (write). 1 = Remote Wake Up is enabled (read), or this bit forces an external interrupt on the UDPHS controller for Remote Wake UP purposes. An Upstream Resume is sent only after the UDPHS bus has been in SUSPEND state for at least 5 ms. This bit is automatically cleared by hardware at the end of the Upstream Resume.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

773

PULLD_DIS: Pull-Down DisableWhen set, there is no pull-down on DP & DM. (DM Pull-Down = DP Pull-Down = 0). Note: If the DETACH bit is also set, device DP & DM are left in high impedance state. (See DETACH description above.)DETACH 0 0 1 1 PULLD_DIS 0 1 0 1 DP Pull up Pull up Pull down High impedance state DM Pull down High impedance state Pull down High impedance state Condition Not recommended VBUS present No VBUS VBUS present & software disconnect

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

774

32.7.2 UDPHS Frame Number RegisterName: Address: Access:31 FNUM_ERR 23 15 7

UDPHS_FNUM 0xF8030004 Read-only30 22 14 6 29 21 13 28 20 12 27 19 26 18 25 17 9 24 16 8

11 10 FRAME_NUMBER 3 2

5 FRAME_NUMBER

4

1 MICRO_FRAME_NUM

0

MICRO_FRAME_NUM: Microframe NumberNumber of the received microframe (0 to 7) in one frame.This field is reset at the beginning of each new frame (1 ms). One microframe is received each 125 microseconds (1 ms/8).

FRAME_NUMBER: Frame Number as defined in the Packet Field FormatsThis field is provided in the last received SOF packet (see INT_SOF in the UDPHS Interrupt Status Register).

FNUM_ERR: Frame Number CRC ErrorThis bit is set by hardware when a corrupted Frame Number in Start of Frame packet (or Micro SOF) is received. This bit and the INT_SOF (or MICRO_SOF) interrupt are updated at the same time.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

775

32.7.3 UDPHS Interrupt Enable RegisterName: Address: Access:31 DMA_7 23 EPT_15 15 EPT_7 7 UPSTR_RES

UDPHS_IEN 0xF8030010 Read-write30 DMA_6 22 EPT_14 14 EPT_6 6 ENDOFRSM 29 DMA_5 21 EPT_13 13 EPT_5 5 WAKE_UP 28 DMA_4 20 EPT_12 12 EPT_4 4 ENDRESET 27 DMA_3 19 EPT_11 11 EPT_3 3 INT_SOF 26 DMA_2 18 EPT_10 10 EPT_2 2 MICRO_SOF 25 DMA_1 17 EPT_9 9 EPT_1 1 DET_SUSPD 24 16 EPT_8 8 EPT_0 0

DET_SUSPD: Suspend Interrupt Enable 0 = Disable Suspend Interrupt. 1 = Enable Suspend Interrupt. MICRO_SOF: Micro-SOF Interrupt Enable 0 = Disable Micro-SOF Interrupt. 1 = Enable Micro-SOF Interrupt. INT_SOF: SOF Interrupt Enable 0 = Disable SOF Interrupt. 1 = Enable SOF Interrupt. ENDRESET: End Of Reset Interrupt Enable 0 = Disable End Of Reset Interrupt. 1 = Enable End Of Reset Interrupt. Automatically enabled after USB reset. WAKE_UP: Wake Up CPU Interrupt Enable 0 = Disable Wake Up CPU Interrupt. 1 = Enable Wake Up CPU Interrupt. ENDOFRSM: End Of Resume Interrupt Enable 0 = Disable Resume Interrupt. 1 = Enable Resume Interrupt. UPSTR_RES: Upstream Resume Interrupt Enable 0 = Disable Upstream Resume Interrupt. 1 = Enable Upstream Resume Interrupt. EPT_x: Endpoint x Interrupt Enable 0 = Disable the interrupts for this endpoint. 1 = Enable the interrupts for this endpoint. DMA_x: DMA Channel x Interrupt Enable 0 = Disable the interrupts for this channel. 1 = Enable the interrupts for this channel. SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

776

32.7.4 UDPHS Interrupt Status RegisterName: Address: Access:31 DMA_7 23 EPT_15 15 EPT_7 7 UPSTR_RES

UDPHS_INTSTA 0xF8030014 Read-only30 DMA_6 22 EPT_14 14 EPT_6 6 ENDOFRSM 29 DMA_5 21 EPT_13 13 EPT_5 5 WAKE_UP 28 DMA_4 20 EPT_12 12 EPT_4 4 ENDRESET 27 DMA_3 19 EPT_11 11 EPT_3 3 INT_SOF 26 DMA_2 18 EPT_10 10 EPT_2 2 MICRO_SOF 25 DMA_1 17 EPT_9 9 EPT_1 1 DET_SUSPD 24 16 EPT_8 8 EPT_0 0 SPEED

SPEED: Speed Status0 = Reset by hardware when the hardware is in Full Speed mode. 1 = Set by hardware when the hardware is in High Speed mode

DET_SUSPD: Suspend Interrupt0 = Cleared by setting the DET_SUSPD bit in UDPHS_CLRINT register 1 = Set by hardware when a UDPHS Suspend (Idle bus for three frame periods, a J state for 3 ms) is detected. This triggers a UDPHS interrupt when the DET_SUSPD bit is set in UDPHS_IEN register.

MICRO_SOF: Micro Start Of Frame Interrupt0 = Cleared by setting the MICRO_SOF bit in UDPHS_CLRINT register. 1 = Set by hardware when an UDPHS micro start of frame PID (SOF) has been detected (every 125 us) or synthesized by the macro. This triggers a UDPHS interrupt when the MICRO_SOF bit is set in UDPHS_IEN. In case of detected SOF, the MICRO_FRAME_NUM field in UDPHS_FNUM register is incremented and the FRAME_NUMBER field doesnt change. Note: The Micro Start Of Frame Interrupt (MICRO_SOF), and the Start Of Frame Interrupt (INT_SOF) are not generated at the same time.

INT_SOF: Start Of Frame Interrupt0 = Cleared by setting the INT_SOF bit in UDPHS_CLRINT. 1 = Set by hardware when an UDPHS Start Of Frame PID (SOF) has been detected (every 1 ms) or synthesized by the macro. This triggers a UDPHS interrupt when the INT_SOF bit is set in UDPHS_IEN register. In case of detected SOF, in High Speed mode, the MICRO_FRAME_NUMBER field is cleared in UDPHS_FNUM register and the FRAME_NUMBER field is updated.

ENDRESET: End Of Reset Interrupt0 = Cleared by setting the ENDRESET bit in UDPHS_CLRINT. 1 = Set by hardware when an End Of Reset has been detected by the UDPHS controller. This triggers a UDPHS interrupt when the ENDRESET bit is set in UDPHS_IEN.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

777

WAKE_UP: Wake Up CPU Interrupt0 = Cleared by setting the WAKE_UP bit in UDPHS_CLRINT. 1 = Set by hardware when the UDPHS controller is in SUSPEND state and is re-activated by a filtered non-idle signal from the UDPHS line (not by an upstream resume). This triggers a UDPHS interrupt when the WAKE_UP bit is set in UDPHS_IEN register. When receiving this interrupt, the user has to enable the device controller clock prior to operation. Note: This interrupt is generated even if the device controller clock is disabled.

ENDOFRSM: End Of Resume Interrupt0 = Cleared by setting the ENDOFRSM bit in UDPHS_CLRINT. 1 = Set by hardware when the UDPHS controller detects a good end of resume signal initiated by the host. This triggers a UDPHS interrupt when the ENDOFRSM bit is set in UDPHS_IEN.

UPSTR_RES: Upstream Resume Interrupt0 = Cleared by setting the UPSTR_RES bit in UDPHS_CLRINT. 1 = Set by hardware when the UDPHS controller is sending a resume signal called upstream resume. This triggers a UDPHS interrupt when the UPSTR_RES bit is set in UDPHS_IEN.

EPT_x: Endpoint x Interrupt0 = Reset when the UDPHS_EPTSTAx interrupt source is cleared. 1 = Set by hardware when an interrupt is triggered by the UDPHS_EPTSTAx register and this endpoint interrupt is enabled by the EPT_x bit in UDPHS_IEN.

DMA_x: DMA Channel x Interrupt0 = Reset when the UDPHS_DMASTATUSx interrupt source is cleared. 1 = Set by hardware when an interrupt is triggered by the DMA Channelx and this endpoint interrupt is enabled by the DMA_x bit in UDPHS_IEN.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

778

32.7.5 UDPHS Clear Interrupt RegisterName: Address: Access:31 23 15 7 UPSTR_RES

UDPHS_CLRINT 0xF8030018 Write only30 22 14 6 ENDOFRSM 29 21 13 5 WAKE_UP 28 20 12 4 ENDRESET 27 19 11 3 INT_SOF 26 18 10 2 MICRO_SOF 25 17 9 1 DET_SUSPD 24 16 8 0

DET_SUSPD: Suspend Interrupt Clear0 = No effect. 1 = Clear the DET_SUSPD bit in UDPHS_INTSTA.

MICRO_SOF: Micro Start Of Frame Interrupt Clear0 = No effect. 1 = Clear the MICRO_SOF bit in UDPHS_INTSTA.

INT_SOF: Start Of Frame Interrupt Clear0 = No effect. 1 = Clear the INT_SOF bit in UDPHS_INTSTA.

ENDRESET: End Of Reset Interrupt Clear0 = No effect. 1 = Clear the ENDRESET bit in UDPHS_INTSTA.

WAKE_UP: Wake Up CPU Interrupt Clear0 = No effect. 1 = Clear the WAKE_UP bit in UDPHS_INTSTA.

ENDOFRSM: End Of Resume Interrupt Clear0 = No effect. 1 = Clear the ENDOFRSM bit in UDPHS_INTSTA.

UPSTR_RES: Upstream Resume Interrupt Clear0 = No effect. 1 = Clear the UPSTR_RES bit in UDPHS_INTSTA.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

779

32.7.6 UDPHS Endpoints Reset RegisterName: Address: Access:31 23 15 EPT_15 7 EPT_7

UDPHS_EPTRST 0xF803001C Write only30 22 14 EPT_14 6 EPT_6 29 21 13 EPT_13 5 EPT_5 28 20 12 EPT_12 4 EPT_4 27 19 11 EPT_11 3 EPT_3 26 18 10 EPT_10 2 EPT_2 25 17 9 EPT_9 1 EPT_1 24 16 8 EPT_8 0 EPT_0

EPT_x: Endpoint x Reset0 = No effect. 1 = Reset the Endpointx state. Setting this bit clears the Endpoint status UDPHS_EPTSTAx register, except for the TOGGLESQ_STA field.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

780

32.7.7 UDPHS Test RegisterName: Address: Access:31 23 15 7

UDPHS_TST 0xF80300E0 Read-write30 22 14 6 29 21 13 5 OPMODE2 28 20 12 4 TST_PKT 27 19 11 3 TST_K 26 18 10 2 TST_J 25 17 9 1 SPEED_CFG 24 16 8 0

SPEED_CFG: Speed ConfigurationSpeed Configuration:Value 0 1 2 3 HIGH_SPEED FULL_SPEED Name NORMAL Description Normal Mode: The macro is in Full Speed mode, ready to make a High Speed identification, if the host supports it and then to automatically switch to High Speed mode Reserved Force High Speed: Set this value to force the hardware to work in High Speed mode. Only for debug or test purpose. Force Full Speed: Set this value to force the hardware to work only in Full Speed mode. In this configuration, the macro will not respond to a High Speed reset handshake.

TST_J: Test J Mode0 = No effect. 1 = Set to send the J state on the UDPHS line. This enables the testing of the high output drive level on the D+ line.

TST_K: Test K Mode0 = No effect. 1 = Set to send the K state on the UDPHS line. This enables the testing of the high output drive level on the D- line.

TST_PKT: Test Packet Mode0 = No effect. 1 = Set to repetitively transmit the packet stored in the current bank. This enables the testing of rise and fall times, eye patterns, jitter, and any other dynamic waveform specifications.

OPMODE2: OpMode20 = No effect. 1 = Set to force the OpMode signal (UTMI interface) to 10, to disable the bit-stuffing and the NRZI encoding. Note: For the Test mode, Test_SE0_NAK (see Universal Serial Bus Specification, Revision 2.0: 7.1.20, Test Mode Support). Force the device in High Speed mode, and configure a bulk-type endpoint. Do not fill this endpoint for sending NAK to the host.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

781

Upon command, a ports transceiver must enter the High Speed receive mode and remain in that mode until the exit action is taken. This enables the testing of output impedance, low level output voltage and loading characteristics. In addition, while in this mode, upstream facing ports (and only upstream facing ports) must respond to any IN token packet with a NAK handshake (only if the packet CRC is determined to be correct) within the normal allowed device response time. This enables testing of the device squelch level circuitry and, additionally, provides a general purpose stimulus/response test for basic functional testing.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

782

32.7.8 UDPHS Endpoint Configuration RegisterName: Address: UDPHS_EPTCFGx [x=0..15] 0xF8030100 [0], 0xF8030120 [1], 0xF8030140 [2], 0xF8030160 [3], 0xF8030180 [4], 0xF80301A0 [5], 0xF80301C0 [6], 0xF80301E0 [7], 0xF8030200 [8], 0xF8030220 [9], 0xF8030240 [10], 0xF8030260 [11], 0xF8030280 [12], 0xF80302A0 [13], 0xF80302C0 [14], 0xF80302E0 [15] Read-write30 22 14 6 BK_NUMBER 29 21 13 5 EPT_TYPE 28 20 12 4 27 19 11 3 EPT_DIR 26 18 10 2 25 17 9 NB_TRANS 1 EPT_SIZE 0 24 16 8

Access:31 EPT_MAPD 23 15 7

EPT_SIZE: Endpoint SizeSet this field according to the endpoint size in bytes (see Section 32.6.6 Endpoint Configuration). Endpoint Size (1)Value 0 1 2 3 4 5 6 7 Name 8 16 32 64 128 256 512 1024 Description 8 bytes 16 bytes 32 bytes 64 bytes 128 bytes 256 bytes 512 bytes 1024 bytes

Note:

1. 1024 bytes is only for isochronous endpoint.

EPT_DIR: Endpoint Direction0 = Clear this bit to configure OUT direction for Bulk, Interrupt and Isochronous endpoints. 1 = Set this bit to configure IN direction for Bulk, Interrupt and Isochronous endpoints. For Control endpoints this bit has no effect and should be left at zero.

EPT_TYPE: Endpoint TypeSet this field according to the endpoint type (see Section 32.6.6 Endpoint Configuration). (Endpoint 0 should always be configured as control)

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

783

Endpoint TypeValue 0 1 2 3 Name CTRL8 ISO BULK INT Description Control endpoint Isochronous endpoint Bulk endpoint Interrupt endpoint

BK_NUMBER: Number of BanksSet this field according to the endpoints number of banks (see Section 32.6.6 Endpoint Configuration). Number of BanksValue 0 1 2 3 Name 0 1 2 3 Description Zero bank, the endpoint is not mapped in memory One bank (bank 0) Double bank (Ping-Pong: bank0/bank1) Triple bank (bank0/bank1/bank2)

NB_TRANS: Number Of Transaction per MicroframeThe Number of transactions per microframe is set by software. Note: Meaningful for high bandwidth isochronous endpoint only.

EPT_MAPD: Endpoint Mapped0 = The user should reprogram the register with correct values. 1 = Set by hardware when the endpoint size (EPT_SIZE) and the number of banks (BK_NUMBER) are correct regarding:

The fifo max capacity (FIFO_MAX_SIZE in UDPHS_IPFEATURES register) The number of endpoints/banks already allocated The number of allowed banks for this endpoint

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

784

32.7.9 UDPHS Endpoint Control Enable Register (Control, Bulk, Interrupt Endpoints)Name: Access:31 SHRT_PCKT 23 15 NAK_OUT 7

UDPHS_EPTCTLENBx [x=0..15] Write-only30 22 14 NAK_IN 6 29 21 13 STALL_SNT 5 28 20 12 RX_SETUP 4 NYET_DIS 27 19 11 TXRDY 3 INTDIS_DMA 26 18 BUSY_BANK 10 TX_COMPLT 2 25 17 9 RXRDY_TXKL 1 AUTO_VALID 24 16 8 ERR_OVFLW 0 EPT_ENABL

This register view is relevant only if EPT_TYPE=0x0, 0x2 or 0x3 in UDPHS Endpoint Configuration Register on page 783 For additional Information, see UDPHS Endpoint Control Register (Control, Bulk, Interrupt Endpoints) on page 793.

EPT_ENABL: Endpoint Enable0 = No effect. 1 = Enable endpoint according to the device configuration.

AUTO_VALID: Packet Auto-Valid Enable0 = No effect. 1 = Enable this bit to automatically validate the current packet and switch to the next bank for both IN and OUT transfers.

INTDIS_DMA: Interrupts Disable DMA0 = No effect. 1 = If set, when an enabled endpoint-originated interrupt is triggered, the DMA request is disabled.

NYET_DIS: NYET Disable (Only for High Speed Bulk OUT endpoints)0 = No effect. 1 = Forces an ACK response to the next High Speed Bulk OUT transfer instead of a NYET response.

ERR_OVFLW: Overflow Error Interrupt Enable0 = No effect. 1 = Enable Overflow Error Interrupt.

RXRDY_TXKL: Received OUT Data Interrupt Enable0 = No effect. 1 = Enable Received OUT Data Interrupt.

TX_COMPLT: Transmitted IN Data Complete Interrupt Enable0 = No effect. 1 = Enable Transmitted IN Data Complete Interrupt.

SAMA5D3 Series [DATASHEET]11121BATARM08-Mar-13

785

TXRDY: TX Packet Ready Interrupt Enable0 = No effect. 1 = Enable TX Packet Ready/Transaction Error Interrupt.

RX_SETUP: Received SETUP0 = No effect. 1 = Enable RX_SETUP Interrupt.

STA