Professional Documents
Culture Documents
TCC8200
32-bit RISC
Microprocessor
For
Multimedia Applications
Rev. 0.20
Apr. 18 2006
DISCLAIMER
All information and data contained in this datasheet are without any commitment, are not to
be considered as an offer for conclusion of a contract, nor shall they be construed as to
create any liability. Any new issue of this datasheet invalidates previous issues. Product
availability and delivery are exclusively subject to our respective order confirmation form;
the same applies to orders based on development samples delivered. By this publication,
Telechips, Inc. does not assume responsibility for patent infringements or other rights of
third parties that may result from its use.
Further, Telechips, Inc. reserves the right to revise this publication and to make changes to
its content, at any time, without obligation to notify any person or entity of such revisions or
changes.
No part of this publication may be reproduced, photocopied, stored on a retrieval system, or
transmitted without the express written consent of Telechips, Inc.
Important Notice
This product may include technology owned by Microsoft Corporation and in this case it cannot be used or distributed
without a license from Microsoft Licensing, GP.
For customers who use licensed Codec ICs and/or licensed codec firmware of mp3:
“Supply of this product does not convey a license nor imply any right to distribute content created with this
product in revenue-generating broadcast systems (terrestrial. Satellite, cable and/or other distribution channels),
streaming applications(via internet, intranets and/or other networks), other content distribution systems(pay-
audio or audio-on-demand applications and the like) or on physical media(compact discs, digital versatile discs,
semiconductor chips, hard drives, memory cards and the like). An independent license for such use is required.
For details, please visit http://mp3licensing.com”
“Supply of this product does not convey a license under the relevant intellectual property of Thomson and/or
Fraunhofer Gesellschaft nor imply any right to use this product in any finished end user or ready-to-use final
product. An independent license for such use is required. For details, please visit http://mp3licensing.com”
Revision History
1 INTRODUCTION
TCC82xx series are system LSI for multimedia application processor based on the ARM946E-S, ARM’s
proprietary 32-bit RISC CPU core. It can decode and encode (M)JPEG, MPEG4, MP3 or other types of audio /
voice / video / image compression / decompression standards by software based architecture. The on-chip USB
2.0 compliant controller enables the data transmission between a personal computer and storage device such as
NAND flash, SD.
1.1 Features
• General features
1-1
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
• Multimedia features
¾ Sensor
CCIR601, CCIR656, YCbCr4:2:2 8bit interface
Up-to 3M pixel
Image windowing
1 sensor overlay
Image downscaling ( X/32 and Y/32 )
Zooming ( x 8 )
Image effect (Gray / Negative / Sepia / Emboss / Sketch & ETC. )
¾ LCD
supports STN and TFT LCD
CCIR601, CCIR656 interface
Overlay and alpha blending ( 2 overlay )
2 LCD ( main.QVGA, sub.QVGA ) 8, 12, 16, 18-bit interface
Display image up/down scaling ( x2, x3, x4, x8 )
YCbCr-to-RGB and RGB-to-YCbCr color space converting
Max 30fps QVGA preview
90°, 180°, 270° Rotate Preview Support
Display image up/down scaling ( x2, x3, x4, x8 )
¾ 2D Accelerator
BitBLT (16 Raster Operations)
Mirror, Flip, 90°, 180°, 270° rotate
Color space converting
Memory-to-memory image scaling ( downscaling /32 X, Y independently, 8x zooming )
¾ Still Image
JPEG encoding 4:2:2/4:2:0 ( up-to 3M pixel )
90°, 180°, 270° rotate capture support up to VGA (depends on the stacked SDRAM capacity.)
JPEG decoding 4:4:4/4:2:2/4:2:0/4:1:1 ( free size decoding under 4096x4096 )
¾ Moving Picture
JPEG encoding 4:2:2/4:2:0 ( up-to 3M pixel )
H/W MJPEG encoding/decoding 15fps ( up-to QVGA )
S/W MPEG4 encoding 15fps ( up-to QCIF )/decoding 15fps (up-to QVGA)
* MPEG4 en/decoding H/W accelerator: DCT/IDCT, SAD, VLC/VLD Table
1.2 Applications
y Multimedia Mobile
y Portable Media Player
1-2
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-3
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
The TCC82xx is a CMOS device. Floating level on input signals cause unstable device operation and abnormal
current consumption. Pull-up or pull-down resistors should be used appropriately for input or bidirectional pins.
Notation
I: Input
O: Output
I/O: Bidirectional
AI: Analog Input
AO: Analog Output
P: Power
G: Ground
1-4
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-5
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-6
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
GIO_EN C3
BPEN B1
BMSEL C2
1-7
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-8
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-9
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
GPIO_E[0] P3 DAI_BCLK
GPIO_E[1] R3 DAI_LRCLK
GPIO_E[2] P4 DAI_MCLK
GPIO_E[3] T3 DAI_SDI
GPIO_E[4] R4 DAI_SDO
GPIO_E[5] T4 I2C_SDA
GPIO_E[6] P5 I2C_SCL
GPIO_E[7] N5 GPIO_E[7]
1-10
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
1-11
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
NRESET K1
TDI K2
TDO K3
NTRST K4
TEST K5
TMS L1
RTCK L5
TCK J3
ADIN0 R5
ADIN1 T5
VDDA_ADC R7
VSSA_ADC N6
PMWKUP P8
XTIN P7
XTOUT R6
VDD_RTC0 M8
VDD_RTC1 N8
FILTER0 M6
FILTER1 T6
VDDAD_PLL0 M7
VDDAD_PLL1 N7
VSSA_PLL0 P6
VSSA_PLL1 T7
VSSD_PLL K7
1-12
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
USB_DP T8
USB_DM T9
USB_REXT R10
UTM_ATEST T10
UTM_XI N9
UTM_XO M9
1-13
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
XD[0] C14
XD[1] B15
XD[2] A16
XD[3] B14
XD[4] C13
XD[5] A15
XD[6] D13
XD[7] A14
XD[8] B13
XD[9] C12
XD[10] A13
XD[11] D12
XD[12] B12
XD[13] A12
XD[14] C11
XD[15] D11
XD[16] B11
XD[17] E11
XD[18] A11
XD[19] D10
XD[20] C10
XD[21] B10
XD[22] A10
XD[23] E10
XD[24] E9
XD[25] C9
XD[26] D9
XD[27] B9
XD[28] A9
XD[29] E8
XD[30] A8
XD[31] B8
VDD_IO_X0 F9
VDD_IO_X1 H11
1.8 - 3.3V memory bus I/O power
VDD_IO_X2 G11
VDD_IO_X3 F11
VSS_IO_X0 F10
VSS_IO_X1 J10
memory bus I/O ground
VSS_IO_X2 H10
VSS_IO_X3 G10
1-14
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
VDD_CO0 J6
VDD_CO1 F8
VDD_CO2 G9
VDD_CO4 J9
VDD_CO5 K10
VDD_CO6 L11
VSS_CO0 F7
VSS_CO1 G7
VSS_CO2 H7
VSS_CO4 G8
VSS_CO5 H8
VSS_CO6 J8
1-15
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
LEFT
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1-16
TCC8200 Specification
Multimedia Application Processor INTRODUCTION
RIGHT
9 10 11 12 13 14 15 16
UTM_ATE
USB_DM GP_C3 GP_C9 GP_C11 VDD_IO_C GP_C13 GP_C17 T
ST
9 10 11 12 13 14 15 16
1-17
TCC82xx
Part 1. Common
Chapter 1. Address
Chapter 3. Port
Chapter 5. JTAG
Chapter 7. Package
Rev. 0.20
Apr. 24 2006
TCC82xx Specification
Multimedia Application Processor PART 1. COMMON
Revision History
ii
Address & Register Map
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
The TCC82xx has fixed address maps for digital audio en-decoder system. The address space is separated MSB
4bits of address bus, the following table represents overall address space of TCC82xx system.
The address space (0x00000000 ~ 0x0FFFFFFF) is initially allocated to internal or external PROM for booting
procedure, and a special flag exists in memory controller unit for remapping this space to other type of memories.
That is, if the remap flag is set to 1, this space is released from the external ROM of chip select 3 or internal boot
ROM. Refer to the description of memory controller for detailed operation.
TCC82xx has one chip select for SDRAM, and four chip selects for other type of memories. Their address space
is dependent on the configuration registers for each chip selects. The above address map is only at the initial
state of TCC82xx; these maps can be changed at user requests.
TCC82xx has various peripherals for controlling a digital audio en-decoder system. These peripherals can be
configured appropriately by it’s own registers that can be accessed through specially allocated address. These
address maps are represented in the following table. In case of memory controller, its space is separated for
preventing illegal accessing.
1
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
y Address decoding logic only monitors base address (for example, 0x8xxxxxxx, 0x9xxxxxxx, etc.), and
bit15~bit12 of accessing address bus. There can be a lot of mirror images of address space that are
repeated at every 4Kbyte boundary, user can access certain registers by these mirror images also, so care
must be taken not to modify these registers unintentionally.
2
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
3
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
4
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
5
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
6
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
7
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
8
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
Endpoints Status
Index Register IR 0x00 ESR 0x2C
Register
Endpoint Interrupt Endpoint Control
EIR 0x04 ECR 0x30
Register Register
Endpoint Interrupt Byte Read Count
EIER 0x08 BRCR 0x34
Register Register
Function Address Byte Write Count
FAR 0x0C BWCR 0x38
Register Register
Endpoint Direction Max Packet
EDR 0x14 MPR 0x3C
Register Register
EP0 Status
EP0SR 0x24 DMA FIFO Counter Register DFCR 0x48
Register
EP1 Buffer Register EP1BUF 0x64 DMA MCU Address Register 1/2 DMAR1/2 0xA0/A4
EP2 Buffer Register EP2BUF 0x68 DMA Transfer Status Register DTSR 0xC0
9
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
Table 1.16 General DMA Controller Register Map (Base Address = 0x8000E000)
Name Address Type Reset Description
ST_SADR0 0x00 R/W 0x00000000 Start Address of Source Block
C
SPARAM0 0x04 R/W 0x00000000 Parameter of Source Block
H
C_SADR0 0x0C R 0x00000000 Current Address of Source Block
A
ST_DADR0 0x10 R/W 0x00000000 Start Address of Destination Block
N
DPARAM0 0x14 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR0 0x1C R 0x00000000 Current Address of Destination Block
L HCOUNT0 0x20 R/W 0x00000000 Initial and Current Hop count
0 CHCTRL0 0x24 R/W 0x00000000 Channel Control Register
RPTCTRL0 0x28 R/W 0x00000000 Repeate Control Register
CHCONFIG 0x2C R/W 0x00000000 Channel Configuration Register
ST_SADR1 0x30 R/W 0x00000000 Start Address of Source Block
C
SPARAM1 0x34 R/W 0x00000000 Parameter of Source Block
H
C_SADR1 0x3C R 0x00000000 Current Address of Source Block
A
ST_DADR1 0x40 R/W 0x00000000 Start Address of Destination Block
N
DPARAM1 0x44 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR1 0x4C R 0x00000000 Current Address of Destination Block
L HCOUNT1 0x50 R/W 0x00000000 Initial and Current Hop count
1 CHCTRL1 0x54 R/W 0x00000000 Channel Control Register
RPTCTRL1 0x58 R/W 0x00000000 Repeate Control Register
ST_SADR2 0x60 R/W 0x00000000 Start Address of Source Block
C
SPARAM2 0x64/0x68 R/W 0x00000000 Parameter of Source Block
H
C_SADR2 0x6C R 0x00000000 Current Address of Source Block
A
ST_DADR2 0x70 R/W 0x00000000 Start Address of Destination Block
N
DPARAM2 0x74/0x78 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR2 0x7C R 0x00000000 Current Address of Destination Block
L HCOUNT2 0x80 R/W 0x00000000 Initial and Current Hop count
2 CHCTRL2 0x84 R/W 0x00000000 Channel Control Register
RPTCTRL2 0x88 R/W 0x00000000 Repeate Control Register
10
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
Table 1.18 Nand Flash Controller Register Map (Base Address = 0x90000000)
Name Address Type Reset Description
NFC_CMD 0x00 W - Nand Flash Command Register
NFC_LADDR 0x04 W - Nand Flash Linear Address Register
NFC_BADDR 0x08 W - Nand Flash Block Address Register
NFC_SADDR 0x0C W - Nand Flash Signal Address Register
NFC_WDATA 0x1x R/W 0x00000000 Nand Flash Word Data Register
NFC_LDATA 0x2x/3x R/W UnKnown Nand Flash Linear Data Register
NFC_SDATA 0x40 R/W 0x00000000 Nand Flash Single Data Register
NFC_CTRL 0x50 R/W 0x00f00111 Nand Flash Control Register
NFC_PSTART 0x54 W - Nand Flash Program Start Register
NFC_RSTART 0x58 W - Nand Flash Read Start Register
NFC_DSIZE 0x5C R/W 0x0000ffff Nand Flash Data Size Register
NFC_IREQ 0x60 R/W 0x00000000 Nand Flash Interrupt Request Register
NFC_RST 0x64 W - Nand Flash Controller Reset Register
11
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
12
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
13
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
14
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
15
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
16
TCC82xx Specification
Multimedia Application Processor ADDRESS & REGISTER MAP
17
CPU
TCC82xx Specification
Multimedia Application Processor CPU
2 CPU
2.1 Overview
The TCC82xx has adopted the ARM946E-S (r1p1) core for controlling system and
processing various kinds of digital signals. The ARM946E-S is a Harvard architecture
cached processor with separate 16Kbyte data and 16Kbytes instruction caches, each with
8-word of line length.
A protection unit allows eight regions of memory to be defined, each with individual
cache and write buffer configurations and access permissions. The cache system is
software configurable to provide highest average of performance or to meet the needs of
real-time systems.
y CPU ARM946E-S
y Cache 16KB for Data / 16KB for Instruction
y TCM 4KB dual port data TCM
Functional Description
1
General Purpose I/O Port
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3 GPIO PORT
3.1 Overview
The TCC82xx has a lot of general purpose I/Os that can be programmed by setting
internal registers. All I/Os are set to input mode at reset. The block diagram of GPIO is
in the following figure.
G IO C O N 0
MUX
C o n tr o l o f o th e r b lo c k 1
C o n tro l o f te s t o r
2
o th e r b lo c k
A
P O u tp u t o f te s t o r
2
B o th e r b lo c k
G P IO p in
O u tp u t o f o th e r
MUX
1
b lo c k
B
U 0
W rite GDATA
S
1 G SEL, G TSEL
Read G D ATA
MUX
If GPIO pin is set to input mode, GPIO pin’s state can be fed to CPU by reading GDATA
register and when output mode, GPIO pin’s state can be controlled by the state of the
corresponding bit of GDATA register.
If GDATA register is read when the mode is output mode, the value that CPU gets is the
one that CPU has written before.
In TCC82xx, there are various kinds of peripherals that generate its own control signals.
These peripherals can occupy the dedicated GPIO pins. This option is controlled by the
state of the GSEL register.
If a bit of these GSEL is 1, the corresponding GPIO pin is entered to other function mode,
so used by other peripherals not by GPIO block. The direction control method of GPIO
pins in the other function mode is determined case by case. One of them follows the
normal direction control method using GIOCON register, the other method uses a its own
direction control signals.
3-1
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-2
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_A pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_A pin; Low or High. If it is set to input mode and
act as GPIO, the corresponding bit represents the status of GPIO_A pin; Low or High.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved Direction control for GPIO_A[27:16] pin
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Direction control for GPIO_A[15:0] pin
If a bit is set to 1, the corresponding GPIO_A pin is set to output mode. If set to 0, the
corresponding GPIO_A pin is set to input mode.
If a bit is set to 1, the corresponding GPIO_A pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_A pins are External Host Interface,
Hard Disk Drive controller and Nand Flash Memory Controller.
3-3
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-4
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_B pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_B pin; Low or High. If it is set to input mode and
act as GPIO, the corresponding bit represents the status of GPIO_B pin; Low or High.
If a bit is set to 1, the corresponding GPIO_B pin is set to output mode. If set to 0,
GPIO_B pin is set to input mode.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
N3-SPI N0-SPI N3-UT1 N1-UT1 N2-UT0 N0-UT0 N2-EI3 N2-EI2 N2-EI1 N2-EI0 N1-EI3 N1-EI2 N1-EI1 N1-EI0 reserved reserved
If a bit is set to 1, the corresponding GPIO_B pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_B pins are External Interrupt
Interface, UART0, UART1 and SPI(GSIO).
3-5
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-6
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-7
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_C pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_C pin; Low or High. If it is set to input mode and
act as GPIO, the corresponding bit represents the status of GPIO_C pin; Low or High.
If a bit is set to 1, the corresponding GPIO pin is set to output mode. If set to 0, GPIO_C
pin is set to input mode.
If a bit is set to 1, the corresponding GPIO_C pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_C pins are Nand Flash Memory
Controller, Hard Disk Drive controller and Nand Flash Memory Controller and SD/MMC.
3-8
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-9
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1, the corresponding GPIO_E pin is set to output mode. If set to 0, GPIO_E pin is set to input
mode.
If a bit is set to 1, the corresponding GPIO_E pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_E pins are I2C and DAI controller.
3-10
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_F pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_F pin; Low or High. If it is set to input mode and
act as GPIO, the corresponding bit represents the status of GPIO_F pin; Low or High.
If a bit is set to 1, the corresponding GPIO_F pin is set to output mode. If set to 0,
GPIO_F pin is set to input mode.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
N3-SPI N0-SPI N3-UT1 N1-UT1 N2-UT0 N0-UT0 N2-EI3 N2-EI2 N2-EI1 N2-EI0 N1-EI3 N1-EI2 N1-EI1 N1-EI0 I2C CIF
If a bit is set to 1, the corresponding GPIO_F pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_F pins are External Interrupt
Interface, UART0, UART1 and SPI(GSIO), I2C and Camera Interface Controller.
3-11
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-12
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-13
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_G pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_G pin; Low or High. If it is set to input mode and
act as GPIO, the corresponding bit represents the status of GPIO_G pin; Low or High.
If a bit is set to 1, the corresponding GPIO pin is set to output mode. If set to 0, GPIO_G
pin is set to input mode.
If a bit is set to 1, the corresponding GPIO_G pin is used by the other dedicated
peripherals. The dedicated peripherals for these GPIO_G pins are LCD Controller.
3-14
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-15
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_XA pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_XA pin; Low or High. If it is set to input mode
and act as GPIO, the corresponding bit represents the status of GPIO_XA pin; Low or
High.
If a bit is set to 1, the corresponding GPIO_XA pin is set to output mode. If set to 0, the
corresponding GPIO_XA pin is set to input mode.
If a bit is clear to 0, the corresponding GPIO_XA pin act as GPIO. The dedicated
peripherals for these GPIO_XA pins are External Memory Controller.
3-16
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-17
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a certain GPIO_XD pin is set to output mode and act as GPIO, the corresponding bit of
this register controls the status of GPIO_XD pin; Low or High. If it is set to input mode
and act as GPIO, the corresponding bit represents the status of GPIO_XD pin; Low or
High.
If a bit is set to 1, the corresponding GPIO_XD pin is set to output mode. If set to 0, the
corresponding GPIO_XD pin is set to input mode.
If a bit is clear to 0, the corresponding GPIO_XD pin act as GPIO. The dedicated
peripherals for these GPIO_XD pins are External Memory Controller.
3-18
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1, the corresponding GPIO_B pin is enabled pull-up or pull_down . If set
to 0, the corresponding GPIO_B pin is disabled pull-up and pull_down
If a bit is set to 1, the corresponding GPIO_C pin is enabled pull-up or pull_down . If set
to 0, the corresponding GPIO_C pin is disabled pull-up and pull_down
GPIO_C Pull Select Register (GPIOC_PS) 0x800030C4
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 Pull up/ pull down Selection for GPIO_C[23:16] pin
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Pull up/ pull down Selection for GPIO_C[15:0] pin
3-19
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1, the corresponding GPIO_E pin is enabled pull-up or pull_down . If set
to 0, the corresponding GPIO_E pin is disabled pull-up and pull_down
If a bit is set to 1, the corresponding GPIO_F pin is enabled pull-up or pull_down . If set
to 0, the corresponding GPIO_F pin is disabled pull-up and pull_down
3-20
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1, the corresponding GPIO_G pin is enabled pull-up or pull_down . If set
to 0, the corresponding GPIO_G pin is disabled pull-up and pull_down
3-21
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1 and the corresponding of XA_PE is set to 1, the corresponding XA pin is
enabled pull-up. If set to 0 and the corresponding of XA_PE, the corresponding XA pin is
enabled pull-down.
3-22
TCC82xx Specification
Multimedia Application Processor GPIO PORT
If a bit is set to 1 and the corresponding of XA_PE is set to 1, the corresponding XA pin is
enabled pull-up. If set to 0 and the corresponding of XA_PE, the corresponding XA pin is
enabled pull-down.
3-23
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-24
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-25
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-26
TCC82xx Specification
Multimedia Application Processor GPIO PORT
3-27
Booting Procedure
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
4 BOOTING PROCEDURE
4.1 Overview
In the TCC82xx, there is an internal boot ROM for system initialization process. It
contains the fundamental routines for system initialization or boot procedure through
various device or interface such as NOR flash, USB only, NAND flash, EHI and I2C.
There are 5 modes for booting procedure. Figure 4.1 illustrates the timing of reset
sequence at power-up. During this process, the configuration value including boot mode
is selected by the state of {BMSEL, GPIO_A[27], GPIO_A[26], GPIO_B[11],
GPIO_B[9], GPIO_B[7], GPIO_B[5], GPIO_B[3]} at nRESET going to high. The 8bit
configuration value (CFG[7:0]) determine the key system factors as Table 4.1, and
Table 4.2 represents the detailed boot mode of the TCC82xx.
GPIO_B[11]
GPIO_A[27]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
NOR 1 0 0 0/1 X X X X
EHI x86 1 0 1 X X 0 X X
EHI 68000 1 0 1 X X 1 X X
NFC 16bit (GPIO-C) 1 1 0 X 0 X X X
NFC 8bit (GPIO-C) 1 1 0 X 1 X X X
USB I/F 1 1 1 X X X X X
NOR 0 X X 0/1 X 0 0 0
NFC 8bit (GPIO-A) 0 X X X 1 0 0 1
NFC 16bit (GPIO-A) 0 X X X 0 0 0 1
EHI x86 0 X X X 0 0 1 0
EHI 68000 0 X X X 1 0 1 0
I2C 0 X X X X 0 1 1
USB I/F 0 X X X X 1 X X
4-1
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
4-2
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
GPIO_B[11]
GPIO_A[27]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
The bus width of external boot ROM can be determined by GPIO_B[11]/CFG[4] which
is acquired in reset sequence.
If CFG[4] == 0, the bus width is 16bit, if CFG[4] == 1, it is 8bit.
GPIO_B[11]
GPIO_A[27]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
USB I/F 1 1 1 X X X X X
USB I/F 0 X X X X 1 X X
This mode is mainly for firmware upgrade mode. In this mode, user can download a
program into the user defined area. If the destination is SDRAM, user also send the
configuration register value (SDCFG) for SDRAM.
When the failure occurs in some other boot modes, it may progress this boot sequence
also.
i) The TCC82xx makes internal SRAM area starts from zero, and copies USB interrupt
service routine to internal SRAM area.
ii) It waits until USB connection is established.
iii) Once it is connected, host transfers first the parameter for USB loader routine
including destination address, user defined parameter and the amount of data to be
transferred (with a unit of packet). If user wants to download into SDRAM, the
SDCFG value must be transferred as user defined parameter.
iv) The TCC82xx starts communicating between a host PC with fixed amount of data
which is called as packet. The packet size of TCC82xx is 512 bytes.
v) At every successful reception of packet, it copies them where the destination address
pointed, and after all amount of data has been copied, it starts program where the start
address pointed.
4-3
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
Normally, the program downloaded is for writing user system firmware to non-volatile
memory like NOR or NAND flash.
The following figure illustrates the sequence of USB boot mode described above.
Mode Setting
Set PLL for USB operation
Set internal SRAM starts from zero
Connection No
Established ?
Yes
Receive a packet
All amount of No
Data ?
Yes
4-4
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
GPIO_B[11]
GPIO_A[27]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
In this mode, the F/W code is read from NAND flash attached at the GPIO_A[15] or
GPIO_C[15:0] ports. NAND chip enable is controlled by GPIO_A[19:18] or
GPIO_C[17:16]. To make use of this mode, the predefined structure such as Master Block
and Master Cluster should be fused in the NAND flash. The detailed construction of these
structure is represented in Figure 4.4.
In case of Case3, the F/W can be located in one of two NAND flashes.
In case of Case4, the CFG[4] should be 0 to regard as 16bit single NAND flash. So, the
two NAND flashes can share the 16bit data-bus by using upper and lower 8 bit separately.
The boot sequence of this mode is as follows. If there exists any problem hard to recover
during this sequence, it goes to USB boot mode automatically. It assumes the contents is
stored as little endian format.
ii) Read the last 1 word (4 bytes) in the spare area of 0 page of 0 block.
It contains the block address of Master Block in upper 3 bytes, and number of Master
Cluster in lower 1 byte. If the MSB of master block address (CS1 bit) is 1, it means
the master block exist in the second NAND flash (that is attached at GPIO_A19 or
GPIO_C17).
31 30 8 7 0
CS1 Block address of Master Block. Number of Master Cluster
iii) Load and Construct the golden image of Master Cluster from the Master Block to
internal SRAM. The structure of Master Block and Master Cluster is represented in
Figure 4.4.
4-5
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
iv) The 1st word of golden Master Cluster determines the next procedure as follows.
In case of 0x54C34396 (‘T’, C3, ‘C’, 96), TCC82xx regard the Master Cluster as the
Master Code, and finishes booting procedure by jumping to the address of 2nd word
in golden Master Cluster.
In case of 0x54C34996 (‘T’, C3, ‘I’, 96), TCC82xx starts loading according to the
contents of golden Master Cluster.
vi) After C2 process has finished, and it is OK, TCC82xx finishes booting procedure by
jumping to the destination address which is contained in golden Master Cluster.
In loading from NAND flash, TCC82xx uses MLC-ECC regardless of NAND type, so
loading is accomplished by unit of 512+16 bytes. The MLC-ECC can correct up to 4
symbol errors, so the F/W code can be stored with high robustness.
4-6
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
No Device ID is
OK ?
Yes
Get the address of Master Block &
The number of Master Cluster
ECC Failed
Construct Master Cluster at internal SRAM
No CRC of Master
USB Boot Mode
Cluster is OK ?
Yes
No 1st Word ==
0x54C34396 ?
Yes
1st word == No
Jump to 2nd word of Master Cluster
0x54C34996 ?
Yes
Load Master Image according to Master Cluster
No
C2 is OK ? USB Boot Mode
Yes
Jump to Start of Loaded Image
4-7
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
0 page / 0 block
Data Area Spare 0 : use 1st NAND device
1 : use 2nd NAND device
Last 1 word
C MBA MC
7 6 5 4 2 1 0
1st Sector (512 bytes) 16 bytes x BS x ECC[1:0]
... 15 BS : Block Status 8
4th Sector (512 bytes) 16 bytes ECC[9:2]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
I2C 0 X X X X 0 1 1
4-8
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
In this mode, the F/W code is read from serial EEPROM attached at the GPIO_F[15:14]
ports. It uses standard I2C interface using GPIO_B15 as I2C clock and GPIO_B14 as I2C
data.
The procedure checks if there exist EEPROM first. If there exist an EEPROM, TCC82xx
do the following procedure. If certain problem can not be solved has occurred, it goes to
USB boot mode automatically.
i) Read init line from EEPROM. The init line consists of the following information.
Name Size Description
Validity & Security Information.
Header 8
Should be matched with pre-defined rule.
Destination 4 Destination address of image
User Parameter 4 If destination address is SDRAM, this must be SDCFG.
Image Size 4 Size of image with byte unit.
No
Attached ?
Yes
Read Init Line (1st 5 words)
No
Header is OK ?
Yes
Load image into Destination Address
No
C2 is OK ?
Yes
Jump to the Destination Address USB Boot Mode
4-9
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
GPIO_B[11]
GPIO_A[27]
GPIO_A[26]
GPIO_B[9]
GPIO_B[7]
GPIO_B[5]
GPIO_B[3]
BMSEL
Description
EHI x86 1 0 1 X X 0 X X
EHI 68000 1 0 1 X X 1 X X
EHI x86 0 X X X 0 0 1 0
EHI 68000 0 X X X 1 0 1 0
In this mode, the TCC82xx enables EHI I/F module, and waits until specific value is
received from HOST. While TCC82xx waiting this value, the HOST can control all of
memory space accessible by TCC82xx through EHI I/F. The EHI I/F can be manipulate
either of x86 or 68000 type interfacing. The interfacing type is determined by
CFG[2](BMSEL==1) or CFG[3](BMSEL==0). If CFG[2]==0(BMSEL==1) or
CFG[3]==0(BMSEL==0), it uses x86 type, and if CFG[2]==1(BMSEL==1) or
CFG[3]==1(BMSEL==0), it uses 68000 type. The bus-width of EHI I/F is predefined as
16bit width
.
The detailed procedure is as follows.
In this mode, TCC82xx doesn't execute any automatical processing such as SDRAM
initialization or CRC checking. So, the HOST should take part in all kind of process for
reliable downloading.
4-10
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
Yes EHST.ST ==
0x55 ? Set HSD Register to Destination Address
No
The TCC82xx can check the CRC for the downloaded image according to the dedicated
algorithm. This is described as follows.
The following code shows same CRC generation algorithm used in the first CRC
checking routine.
4-11
TCC82xx Specification
Multimedia Application Processor BOOTING PROCEDURE
}
return crcout;
}
4-12
JTAG Debug Interface
TCC82xx Specification
Multimedia Application Processor JTAG DEBUG INTERFACE
The TCC82xx has the ARM946ES core as main controller, and JTAG interface for
developing the application programs. It can be connected with OPENice32 of AIJI
System or Multi-ICE of ARM or other third party’s in-circuit emulator supporting for
ARM946ES core.
With the use of in-circuit emulator, users can easily develop the program for their own
system. It provides hardware breakpoints, internal register monitoring, memory dump, etc.
Refer to user’s manual of in-circuit emulator for more detail functions of it.
Figure 5.1 shows the application circuit for JTAG interface. Care must be taken not to
combine system reset with JTAG reset signal.
20 19 VDDIO
18 17 10K
nSRST 10K 10K 10K
16 15
14 13 TDO
TDO
12 11 RTCK
RTCK
TCK
10 9 TCK
TMS
8 7 TMS
TDI
6 5 TDI
4 3 nTRST
2 1 TCC82xx
nTRST
RESET
CIRCUIT
nRESET
5-1
Electrical Data
TCC82xx Specification
Multimedia Application Processor ELECTRICAL DATA
6 ELECTRICAL DATA
Notes:
1. Absolute maximum rating specifies the values beyond which the device may be damaged permanently.
Exposure to ABSOLUTE MAXIMUM RATING conditions for extended periods may affect reliability.
Each condition value is applied with the other values kept within the following operating conditions and
function operation under any of these conditions is not implied.
2. All voltages are measured with respect to VSS unless otherwise specified.
6-1
TCC82xx Specification
Multimedia Application Processor ELECTRICAL DATA
6-2
Package Dimensions
TCC8200 Specification
Multimedia Application Processor PACKAGE DIMENSIONS
7 PACKAGE DIMENSIONS
7-1
TCC82xx
Part 2. Interface
Chapter 1. Memory
Chapter 2. DAI
Chapter 3. UART
Chapter 4. SPIMS
Chapter 5. I2C
Chapter 6. ECC
Chapter 7. USB
Chapter 8. NAND
Chapter 9. SD(MMC)
Rev. 0.20
Apr. 24 2006
Revision History
1 MEMORY CONTROLLER
1.1 Overview
TCC82xx has a memory controller for various kind of memory for digital media en-decoding
system. It can manipulate SDRAM, Flash (NAND, NOR type), ROM, SRAM type memories,
and also support the IDE interface for HDD. It has configurable data bus width through the GPIO
pin or each configuration register. The data bus width can be configured for each chip select
separately
The memory controller provide the power saving function for SDRAM (self refresh).
The following figure represents the block diagram of memory control unit.
SDRAM
Refresh
SDCFG State
Controller
Machine
SDRAM
Signal
AHB
Generator
Memory
Remap
Signal Mixer Control
Flag
Signals
ExtMEM
Signal
Generator
ExtMEM
CSCFGn State
Machine
The registers for memory controller block have the base address of 0xF0000000.
1-1
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
1-2
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
SDRAM controller can control from 16Mbit up to 256Mbit SDRAM. In TCC82xx system, the
SDRAM can contain almost parts for system operation. (Program, data, buffer, etc can be located
in SDRAM).
The SDRAM parameter such as size, refresh period, RAS to CAS delay, refresh to idle delay can
be programmed by internal register.
The SDRAM is disabled at first, to enable SDRAM controller, you must set SDEN flag of MCFG register
first, and then set this register appropriately. At the beginning of using SDRAM, SDRAM must be refreshed
several times for reliable operation, and writing to SDCFG register can do this because this writing
automatically generates the SDRAM refresh cycle once at a time.
RP[2:0] [14:12]
n (n+1) number of HCLK cycle is used to meet the precharge to refresh time
1-3
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
This register is read only and represents current status of finite state machine in the SDRAM
controller. This can be used for test purpose only.
1-4
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
SDCLK
SDnCS
nRAS tDO
nCAS tRCD
nWE
DQ DQ0 DQ1
RAS WR WR Stop
Cmd Cmd Cmd Cmd
SDCLK
SDnCS
nRAS
nCAS
nWE tCL
tCL
DQM
RD Stop
Cmd Cmd
SDCLK
SDnCS
nRAS
nCAS tRP
nWE tRC
tRD
DQ Valid
1-5
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
One of them is for supporting boot PROM. In initialization, the lower address space
(0x00000000 ~ 0x0FFFFFFF) is mapped to internal or external boot ROM but after initialization,
a kind of RAM must be mapped to these space as the system program including interrupt vector
table is located in this area. To satisfy this requirement, TCC82xx provide RM flag.
BM flag is used to select the boot procedure between the 7 kinds of them. Refer to chapter of
boot mode for details.
1-6
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
In initialization, RM flag direct that the lower address space is mapped to internal or external boot
ROM. The boot program in internal or external ROM set RM flag high after going to address
space that is not in lower address space(0x00000000~0x0FFFFFFF). After RM flag is set to 1,
the lower address space is released from internal or external boot ROM, so the lower address
space can be mapped to other memories including SDRAM or internal SRAM by changing the
base address of that memories. The RM flag can be restored to 0 by user request, but because the
lower address space is remapped to boot ROM again, care must be taken not to illegally change
the RM flag.
1-7
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
External memory controller can control external memories such as NAND or NOR type flash
memory and ROM, SRAM type memory. These memories are selected by nCS3 ~ nCS0 pins.
The cycle parameter for accessing external memory can be configured by internal registers. In
case of NAND flash, additional parameters for address, command and data cycles can be
provided.
1-8
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
1-9
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
The following figure displays the element cycle diagram for external memories.
SMEM_0 Type Cycle (Bus width >= Data width, URDY=0)
nCS
XA ADDR0 ADDR1
tPW
nOE
tSH tHLD tSH tHLD
tPW
nWE tH
DQ DQR DQW
SMEM_0 Type Cycle (Bus width < Data width, URDY=1, RDY=0)
XA ADDR0 ADDR1
tPW 1 tPW 2 tPW
nOE
tSH tHLD tSH1 tSH2 tHLD
tWait tWait
READY
tH
DQ DQRL DQRH
nCS
XA ADDR0 ADDR1
tPW
nOE
tSH tHLD tSH tHLD
tPW
nWE tH
DQM1
DQM0
DQ[15:8] DQ1
DQ[7:0] DQ0
In case of IDE type memories, there are two chip-enable signals for it. In TCC82xx, each enable
signal can be controlled by offset address space. ‘nCS0’ reflects that the offset address range of 0
~ 0x1F is accessed, ‘nCS1’ reflects that 0x20 ~ 0x3F is accessed. For larger address than 0x3F, if
bit5 of address value means which enable signal is activated. (0 to ‘nCS0’, 1 to ‘nCS1’)
1-10
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
1-11
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
In case of NAND flash type memories, there are several sub-registers for generating command,
address, and data cycles.
Followings are these sub-registers. (M is base field of CSCFGn register)
Except the data register (NDDATA), the sub-register has implicit size of 16bit, so the bus-width
of CSCFGx register does not affect the cycle of command and address registers. It only affects
the cycle of data register.
Table 1.3 represents the relation between each cycle and address generation.
User must set this information appropriately to PSIZE and CADR field of CSCFGn register
ahead of accessing NAND data.
1-12
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
1-13
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
In TCC82xx, there is 64Kbytes of SRAM for general purposes and 8Kbytes of ROM for system
initialization. SRAM area is dedicated to area 3 (0x30000000 ~ 0x3FFFFFFF), and also accessed
by area 0 (0x00000000 ~ 0x0FFFFFFF) when there are no devices assigned to area 0. ROM area
is dedicated to area E (0xE0000000 ~ 0xEFFFFFFF), and also accessed by area 0 (0x00000000
~ 0x0FFFFFFF) when RM flag of MCFG register is cleared to 0.
In case of internal ROM, access cycle can be extended by inserting 1 wait cycle. This wait cycle
is determined by writing any value to ROM area.
1-14
TCC82xx Specification
Multimedia Application Processor MEMORY CONTROLLER
1.7 DTCM
TCC82xx supports the 4k-bytes DTCM(Tightly-Coupled Data Memory). The DTCM is located
at address 0xA0000000 in the memory map. When out of reset, the behavior of DTCM is
controlled by the state of CP15 control register. You can enable the DTCM by setting bit 16 of
the CP15 control register.
The procedure for initializing the DTCM is as follows:
1-15
DAI (Digital Audio Interface)
TCC82xx Specification
Multimedia Application Processor DAI
2 DAI
The TCC82xx provides digital audio interface that complies with IIS (Inter-IC Sound). The
DAI has five input/output pins for IIS interface; MCLK, BCLK, LRCK, DAI, DAO. All DAI
input/output pins are multiplexed with GPIO pins; GPIO_B<16:20>.
The MCLK is the system clock pin that is used for CODEC system clock. In master mode, the
MCLK can be generated from clock generator in which that is known as a DCLK, or fed from
the outside of chip in slave mode. The DAI can process 256fs, 384fs and 512fs as a system clock.
256fs means that the system clock has 256 times of sampling frequency (fs).
The BCLK is the serial bit clock for IIS data exchange. The DAI can generate 64fs, 48fs and
32fs by dividing a system clock. The polarity of BCLK can be programmed. That is, the serial
bit can be stable either rising edge of BCLK or falling edge of BCLK.
The LRCK is the frame clock for the stereo audio channel Left and Right. The frequency of
LRCK is known as the “fs” – sampling frequency. Generally, for audio application – such as
MP3 player , CD player, the fs can be set to 8kHz, 16kHz, 11.05kHz, 24kHz, 32kHz, 44.1kHz
and 48kHz. For supporting the wide range of sampling frequency in audio application, the
DCO function is very useful to generate a system clock. Refer the chapter of clock generator for
detail information.
All three clocks (MCLK, BCLK, LRCK) are selectable as master or slave.
The DAI, DAO are the serial data input output pins respectively.
The DAI has two 8-word input/output buffers. It has a banked buffer structure so that one side of
buffer is receiving/transmitting data while the other side of that can be read/written through the
DADI_XX/DADO_XX registers. The maximum data word size is 24 bit. Data is justified to
MSB of 32bits and zeros are padded to LSB.
There are 2 types of interrupt from IIS; transmit done interrupt, receive done interrupt. The
transmit-done interrupt is generated when the 8 words are transferred successfully in the output
buffer. At this interrupt, user should fill another 8 more words into the other part of the output
buffer in the interrupt service routine (ISR). In this ISR routine, 8 consecutive stores of word
data to the DADO registers are needed. The receive-done interrupt is generated when the 8 words
are received successfully in the input buffer. At this interrupt, user should read 8 received words
from the input buffer using 8 consecutive load instructions from the DADI registers.
2-1
TCC82xx Specification
Multimedia Application Processor DAI
2-2
TCC82xx Specification
Multimedia Application Processor DAI
2-3
TCC82xx Specification
Multimedia Application Processor DAI
2-4
TCC82xx Specification
Multimedia Application Processor DAI
The volume of audio output can be manipulated by this register. It has –6dB unit so the output
volume can be set from 0 dB to –96 dB as the following table.
2-5
TCC82xx Specification
Multimedia Application Processor DAI
Input Buffer
DADI_L0 LEFT0
DADI_R0 RIGHT0
S2P
LEFT4
RIGHT4
Input Buffer LB
Pointer MM
LEFT7
RIGHT7
IIS_SDO
Output Buffer
DADO_L0 LEFT0
DADO_R0 RIGHT0
DADO_L3 LEFT3
DADO_R3 RIGHT3
LEFT4
RIGHT4 P2S
Output Buffer
Pointer LEFT7
RIGHT7
DCO IIS_MCLK
SM
DIVIDER IIS_BCLK
BM
DIVIDER IIS_LRCK
FM
2-6
TCC82xx Specification
Multimedia Application Processor DAI
Left
LRCK Right
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 16
BCLK
L M L M
DAI/O S S S S
B B B B
Left
LRCK Right
32 31 30 29 28 27 10 9 8 7 6 5 4 3 2 1 32
BCLK
M L M
DAI/O S S S
B B B
Left
LRCK Right
24 23 22 21 20 21 9 8 7 6 5 4 3 2 1
BCLK
M L M
DAI/O S S S
B B B
2-7
UART
TCC82xx Specification
Multimedia Application Processor UART
3 UART
3.1 Overview
The TCC82xx has 2 UART modules (UART0, UART1) that can be used in programming
the system software, IrDA interfacing or high speed serial communication.
The UART has a automatic flow control for fast interface. In the UART, there are two
DMA requests (Rx/Tx DMA request) for each transmit and receiving data. It can be
operate with DMA without software burden. The block diagram of UART is in the Figure
3.1.
LSR
RTS
nRTS
Control
CR
DL
Transmit Transmit RZ code
TXD
FIFO Shift Modulator
Interrupt
IR IREQ
Generator
CTS
nCTS
Control
3-1
TCC82xx Specification
Multimedia Application Processor UART
3-2
TCC82xx Specification
Multimedia Application Processor UART
B Rx Tx Interupt
Interrupt FiFo
i Buffer Holding Enable
Identity Control Line Modem Line
t Register Register Register
Register Register Control Control Status
(read (write Register Register Register
DLAB=1 DLAB=1
only) only
Divisor Divisor
Latch Latch
(LSB) (MSB)
THR IER
RBR IIR FCR LCR MCR LSR
/DLL /DLM
Enable
Interrupt FiFo Data
0 Bit0 Bit0 Rx Reserved
Pending Enable Word Ready
Data
Length
Enable Rx Request
Overrun
1 Bit1 Bit1 Tx FiFo To
Error
Holding Reset Send
Enable Tx
Interput Stop Parity
2 Bit2 Bit2 Rx FiFo Reserved
ID Bits Error
Line Reset
Enable DMA
Parity Framing
3 Bit3 Bit3 Modem Rx/Tx Reserved
Enable Error
Status Eanble
3-3
TCC82xx Specification
Multimedia Application Processor UART
0x18 0x1C 0x20 0x24 0x40 0x44 0x48 0x4C 0x50 0x80
B
i AFC Tx
Modem UART Divisor Divisor Interupt IrDA
t Scratch Trigger Rx Buffer Holding
Status Control Latch Latch Enable Conf.
Register Level Register Register
Register Register (LSB) (MSB) Register Register
Register
MSR SCR AFT UCR SRBR STHR SDLL SDLM SIER IRCFG
nRTS
5 Reserved Bit5 Bit5 Bit5 Bit5 Bit5 0 0
Assert
Trigger
Level
6 Reserved Bit6 Bit6 Bit6 Bit6 Bit6 0 0
(ATL)
3-4
TCC82xx Specification
Multimedia Application Processor UART
The RBR is a actually 16byte FiFo, a received data from external device is stored in the
RBR and CPU(or DMA) can read this register by Rx interrupt(or Rx DMA Request).
The THR is a actually 16byte FiFo . To transmitt data to external device, CPU(or DMA)
should write data to the THR.
This is for generation of the desired baud rate clock. This register is set to 0 at reset,
UART is disabled until this register is set by non-zero value. The value can be calculated
as follows.
The UART clock is generated by clock generator block. It is recommended that the
frequency of UART clock is set to 3.6864MHz, so the desired baud rate can be
acquired by writing a value to DLL register as follows.
3-5
TCC82xx Specification
Multimedia Application Processor UART
3-6
TCC82xx Specification
Multimedia Application Processor UART
3-7
TCC82xx Specification
Multimedia Application Processor UART
These bits are used to configure the writable amount at FIFO when the Tx interrupt or
DMA Tx request is generated.
3-8
TCC82xx Specification
Multimedia Application Processor UART
3-9
TCC82xx Specification
Multimedia Application Processor UART
3-10
TCC82xx Specification
Multimedia Application Processor UART
3-11
TCC82xx Specification
Multimedia Application Processor UART
This 8-bit Read/Write Register does not contol the UART in anyway. It is
inteded as a scratchpad register to be used by the programmer to hold
data temporarily.
3-12
TCC82xx Specification
Multimedia Application Processor UART
3-13
TCC82xx Specification
Multimedia Application Processor UART
SRBR, STHR, SDLL, SDLM, SIER registers are copy of the RBR, THR,
DLL, DLM, IER registers. These registers can be accessed without concern
of DLAB state.
In IrDA Mode, each zero bit of TXD has a pulse width of 3/16 of a bit time.
3-14
TCC82xx Specification
Multimedia Application Processor UART
3-15
TCC82xx Specification
Multimedia Application Processor UART
The following decriptions are the example of Rx/Tx operation with DMA and the H/W Auto Flow
Control scheme is applied. The nRTS/nCTS lantency should be considered and User should change
the register setting value to achive high-speed transferring data.
10~ 17~
RXD line (byte) 1 2 3~7 8 9 16 20 21 22 23 24 STOP START 25
15 19
<*D>
nRTS
<*D>
<*E>
DMA Rx REQ
<*B>
<*C>
DMA reads Rx Data from
<*A> <*A> <*F>
Rx FiFo (each 8bytes)
<*B> : DMA detects Rx Request but DMA can't transfer data ( Other master higer than DMA occupies the bus )
<*D> : The nRTS latency is delay. The nRTS latency should be considered. if not, overrun error will occur
3-16
TCC82xx Specification
Multimedia Application Processor UART
<*C> : nCTS asserted by External UART, Internal UART wait until nCTS is deasserted.
<*D> : nCTS de-asserted by External UART, Internal UART restart data transfering.
3-17
SPIMS (Serial Peripheral Interface
Master/Slave)
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4 SPI MASTER/SLAVE
4.1 Overview
The previous SPI of our products functions as slave only and has only two
frame format of four ones which is compatible with Motorola SPI. Our GSIO
also supports only two frame format of Motorola SPI four ones aand has no
FIFO.
Therfore we added following features to supplement our SPI master/slave.
4-1
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-2
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-3
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-4
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-5
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-6
TCC82xx Specification
Multimedia Application Processor SPI MASTER/SLAVE
4-7
I2C Controller
TCC82xx Specification
Multimedia Application Processor I2C CONTROLLER
5 I2C CONTROLLER
Prescale
Register Clock
Generator
Command
Register
Byte SCL
Command
Controller
Bit
APB
Status Command
Register Controller
SDA
Transmit
Register
DataI/O
Shift
Register
Receive
Register
After the signals are enabled, I2CCLK (the main clock of I2C) must be enabled and configured to the proper
frequency. Refer to section “CLOCK GENERATOR” for I2CCLK (EX2CLK) related descriptions.
For internal synchronization, the APB clock frequency must be faster than the I2CCLK frequency.
fI2CLK ≤ fHCLK / 4.0
5-1
TCC82xx Specification
Multimedia Application Processor I2C CONTROLLER
5-2
TCC82xx Specification
Multimedia Application Processor I2C CONTROLLER
5-3
TCC82xx Specification
Multimedia Application Processor I2C CONTROLLER
5-4
TCC82xx Specification
Multimedia Application Processor I2C CONTROLLER
5-5
ECC (Error Correction Code)
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
The ECC (Error Correction Code) is used to correct data error in storage device or various kind of
communicating system. The TCC82xx has simple ECC generation and Error Correction Module. By
enable ECC module, it consistently monitors internal bus activity and calculate ECC whenever there is
read or write cycle from/to a predefined memory area. The area can be determined by special register
so this module can be used ECC calculation itself not only for specific storage device such as NAND
flash.
The following figure represents block diagram including internal bus connection for ECC module.
DATA
HTRANS
HWRITE
Error DATA
SLC ECC CORE
HADDR
Error ADDR - ERROR DETECTION
HWDATA
- ERROR CORRECTION
Error NUM
HRDATA
HREADY
PSELecc
PENABLE ENCODE/
DECODE
PWRITE
DATA
ECC
PADDR
CONTROLLER
CONTROL
Error DATA
MLC ECC4 CORE
SIGNAL
PWDATA - ERROR DETECTION
PRDATA
Error ADDR - ERROR CORRECTION
Error NUM
INTERRUPT
To Interrup REQUEST FIFO
Controller
(16x32)
To DMA
DMA
REQUEST ECC
6-1
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
SLC_ECC5 0x24 R 0x00000000 6th Block ECC output for SLC NAND
SLC_ECC6 0x28 R 0x00000000 7th Block ECC output for SLC NAND
SLC_ECC7 0x2C R 0x00000000 8th Block ECC output for SLC NAND
6-2
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
6-3
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
6-4
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
6-5
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
The parity data that have been generated are stored as follows.
6-6
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
6-7
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
Whenever this register is written by any value, MLC ECC4 Correction Module is started.
6-8
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
For SLC ECC, Error Byte Address = ERRADDR0[13:3], Error Bit Address[2:0].
For MLC ECC4, Error Address = Byte Data Size – ERRADDR[9:0] – 1 + 8
6-9
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
[ECC_BADDR]
[ECC_MASK]
- Address region of the calculated ECC source data setting
Data Transfer
n Time Repeat
CALCULATED ECC
DATA WRITE
[ECC_CLR]
- SLC ECC Clear
SLC ECC
ENCODING
COMPLETE
EXTERNAL NAND DATA[15:0] ND_DATA ND_DATA ... ND_DATA ND_DATA ECC ECC
Must be setting Data transfer by DMA/ARM Must be clear SLC ECC RESULT
SEN bit field SEN bit field that read from SLC_ECCx.
AHB BUS xxxxxxxx DATA DATA ... DATA DATA xxxxxxxx SLC_ECC0 SLC_ECCx SLC_ECCn xxxxxxxxxxxxxxxxxxxxxxxx
Cx READ
SLC_ECC EN
SLC_EC
SLC_EC
SLC_EC
SLC ECC DATA[31:0] xxxxxxxxx DATA DATA DATA DATA DATA xxxxx xxxxxxxx xxxxxxx
6-10
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
[ECC_BADDR]
[ECC_MASK]
- Address region of the calculated ECC source data setting
Data Transfer
n Time Repeat
- ERR_NUM READ
ERROR : 000 = Correctable Error(1 Bit Error)
DETECTION : 100 = No Error
: 111 = Correction Impossible
[ECC_CLR]
- SLC ECC Clear
SLC ECC
DECODING
COMPLETE
EXTERNAL NAND DATA[15:0] ND_DATA ND_DATA ... ND_DATA ND_DATA SLC_ECCx SLC_ECCx
AHB BUS xxxxxxxx DATA DATA ... DATA DATA xxxxxxxx SLC_ECC0 xxx SLC_ECCx xxx SLC_ECCn xxx xxxxxxxxxxxxxxxxxxxxxxxx
MLC_ECC3 EN
6-11
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
AD
AD
AD
CR0 RE
CR1 RE
CR2 RE
MLC_EC
MLC_EC
MLC_EC
6-12
TCC82xx Specification
Multimedia Application Processor ECC (ERROR CORRECTION CODE)
[ECC_BADDR]
[ECC_MASK]
- Address region of the calculated ECC source data setting
[ECC_CTRL]
- DECODE setting
Data Transfer
ORIGINAL ECC READ - For Transfer data size =< 512 Byte ,
FORM MEMORY : x = {0,1,2}.
3 Time Repeat
MLC_ECCWx WRITE
- ERR_NUM READ
ERROR
DETECTION
: 000 = 1 Error Occurred.(ERRADDR1/ERRDATA1)
: 001 = 2 Error Occurred.(ERRADDR1~2/ERRDATA1~2)
: 010 = 3 Error Occurred.(ERRADDR1~3/ERRDATA1~3)
: 011 = 4 Error Occurred.(ERRADDR1~4/ERRDATA1~4)
Error Occurred. : 100 = No Error
: 111 = Correction Imposible.
ERROR
CORRECTION
- ERROR ADDRESS : Byte Size of Transfer Data ERRADDRx 1+8
No Error. - CORRECT DATA : Error Data in Error Address ^ ERRDATAx
[ECC_CLR]
- MLC ECC3 Clear
MLC ECC4
DECODING
COMPLETE
EXTERNAL NAND DATA[15:0] ND_DATA ND_DATA ... ND_DATA ND_DATA ECC ECC
AHB BUS xxxxxxxx DATA DATA ... DATA DATA xxxxxxxx ECC[23:0] ECC[47:16] ECC[79:48] xxxxxxxxxxxxxxxxxxxxxxxx
MLC_ECC3 EN
MLC ECC DATA[9:0] xxxxxxxxx DATA DATA DATA DATA DATA xxxxxxxx xxxxxxxx xxxxxxxx xxxx DATA ... DATA xxxxxxxxxxxxxx
6-13
USB Controller
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7 USB CONTROLLER
7.1 Overview
The TCC82xx USB Controller consists of 3 kind of blocks such as USB 2.0 D LINK,
USB 2 PHY and USB Interface
The USB Interface connects a USB Device Controller to a USB system
DP
UTMI Signal
DM From LINK To PHY
ATEST
REXT
USB 2 PHY USB 2.0 LINK
RKELVIN
XI
UTMI Signal
XO From PHY To LINK
MCU Interface :
- MCU CLK,
- MCU ADDR
PHY Control signal
- MCU CSN
(Oscillator and PLL
- MCU WRN
External signals)
- MCU RDN
- MCU WDATA
- MCU RDATA
USB IF
AHB Bus
7-1
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
The USB PHY consists of two basic block components: the common block and the
transceiver block. The common block contains design components that can be reused in
multiple transceivers, such as the phase-locked loop and the bias circuitry. The transceiver
block contains the bulk of the USB PHY circuitry.
HS/FS/LS
Reciever
U
T
OSC
NRZI M
HS/FS/LS Encoder I
Transmitter &
Decoder
PLL
DM/DP
Single-Ended USB1.1
Receiver Transceiver Serial
I/F
7-2
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-3
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
The TCC82xx USB2.0 Device supports a fully compliant to USB 2.0 specification, high-
speed (480 Mbps) functions and suspend/resume signaling. The USB function
controller has an endpoint EP0 for control , two in/output endpoints EP1/EP2 for bulk
data transaction and an EP3 for interrupt data transaction. The endpoint EP0 has a single
64 byte FIFO; Max packet size is 64 bytes. The endpoint EP1 has a dual 2048 bytes
FIFO; Max packet size is 1024 bytes. The EP2 has a dual 1024 bytes FIFO; Max packet
size is 512 bytes. And the EP3 has a dual 128 bytes FIFO; Max packet size is 64 bytes,
respectively.
Interrupt (Status) and Interrupt Enable registers are broken down into 2 banks: Endpoint
Interrupts, USB Interrupts. The MAXP, ENDPOINT INTERRUPT and ENDPOINT
INTERRUPT ENABLE registers are used regardless of the direction of the endpoint.
The associated CSR registers correspond to the direction of endpoint.
SIE UPH
MCU_DATAIN[15:0]
UTM DATA[15:0]
Token
Decoder
RX Interface EP Machine
RX Control
Line State[1:0] MCU_RDN
MCU_WDN
Timeout
Checker
MCU_DATAOUT[15:0]
TX Interface
MCU/DMA
TX I/F
USB_REG
Control
DACK
DREQ
CSN
ADDR
7-4
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
Endpoints Status
Index Register IR 0x00 ESR 0x2C
Register
Endpoint Interrupt Endpoint Control
EIR 0x04 ECR 0x30
Register Register
Endpoint Interrupt Byte Read Count
EIER 0x08 BRCR 0x34
Register Register
Function Address Byte Write Count
FAR 0x0C BWCR 0x38
Register Register
Endpoint Direction Max Packet
EDR 0x14 MPR 0x3C
Register Register
System Status DMA Control
SSR 0x1C DCR 0x40
Register Register
EP0 Status
EP0SR 0x24 DMA FIFO Counter Register DFCR 0x48
Register
EP1 Buffer Register EP1BUF 0x64 DMA MCU Address Register 1/2 DMAR1/2 0xA0/A4
EP2 Buffer Register EP2BUF 0x68 DMA Transfer Status Register DTSR 0xC0
7-5
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
IDX[1:0] Endpoint
n Endpoint
Operating in MCU mode the endpoint interrupt register lets the MCU knows what
endpoint generates the interrupt. Clearing the bits can be accomplished by writing ‘1’ to
the bit position where the interrupt is detected.
7-6
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
This register reports a unique USB device address transferred from USB host through
“set_address” command
7-7
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-8
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
This register reports operational status of the core, especially about error status and power
saving mode status. Except the line status. Every status bits in the System status Register
could be an interrupt sources. When the register is read after an interrupt due to certain
system status changes MCU should write back 1 to the corresponding bits to clear it.
7-9
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-10
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-11
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-12
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
This register stores status information of the Endpoint 0. This status information is set
automatically by the core when corresponding conditions are met. After reading the bits,
MCU should write 1 to clear them.
7-13
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
EP0 control register is used for the control of endpoint 0. Controls such as enabling ep0
related interrupts and toggle controls can be handled by EP0 control register.
7-14
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
The endpoint status register reports current status of an endpoint(except EP0) to the MCU.
7-15
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
00 : No packet in FIFO.
01 : One packet in FIFO.
R/W
10 : Two packet in FIFO.
11 : Invalid value.
7-16
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
The endpoint control register is useful for controlling an endpoint both in normal
operation and test case. Putting an endpoint in specific operation mode can be
accomplished through the endpoint control register.
1 ISO mode
R/W
0 Bulk(interrupt) mode
7-17
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
1 The MCU can force TX data toggle bit with TTE. The bit
is useful for test. The TX data toggle bit changes
R/W
automatically in normal operation.
0 0 : disable / 1: enable
1 This bit is used for Test. TZLS is set by the MCU when the
R/W MCU intend to send zero length TX data to Host this bit is
0 cleared when the MCU write 0 in it.
7-18
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
Through BWCR, the MCU must load the byte counts of a TX data packet to the core. The
core uses this count value to determine the end of packet. The count value to this register
must be less than MAXP.
Max Packet[10:0]
The max packet size of each endpoint is determined by MAX packet register. The range
of max packet is from 0 to 2048 byte
Note. This USB2.0 device has 4 FIFO memory. and each size of EP0,EP1,EP2 and
EP3 are 64byte,1024byte,2048byte,128byte.
7-19
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-20
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
7-21
TCC82xx Specification
Multimedia Application Processor USB CONTROLLER
USB Core reiceive OUT data form USB Core reiceive IN Token form Host
Host ctroller and generates DREQ to controller and sends IN data to Host.
DMA Controller USB core generates DREQ to DMA
Controller
DMA Controller reads data from OUT DMA Controller writes data to IN fifo in
fifo In usb core usb core
DMA Operation is ended and interrupt DMA Operation is ended and interrupt
mode is On mode is On
7-22
NFC (Nand Flach Controller)
TCC82xx Specification
Multimedia Application Processor NFC
8 NFC
PSELnfc ND_nCS0/1
PENABLE ND_nWE
Memory Control
Signal
PWRITE ND_nOE
APB BUS
PADDR ND_CLE
MEMORY NAND
CONTROLLER ND_ALE FLASH
PWDATA
ND_IO[15:00]
PRDATA
ND_READY0/1
APB I/F
PREADY
FIFO
READ/WRITE
SIGNAL
INTERRUPT
REQUEST
FIFO
To Interrup
Controller
DMA
(16x32)
To DMA
REQUEST
NFC
8-1
TCC82xx Specification
Multimedia Application Processor NFC
Table 8.1 Nand Flash Controller Register Map (Base Address = 0x90000000)
Name Address Type Reset Description
NFC_CMD 0x00 W - Nand Flash Command Register
NFC_LADDR 0x04 W - Nand Flash Linear Address Register
NFC_BADDR 0x08 W - Nand Flash Block Address Register
NFC_SADDR 0x0C W - Nand Flash Signal Address Register
NFC_WDATA 0x1x R/W 0x00000000 Nand Flash Word Data Register
NFC_LDATA 0x2x/3x R/W UnKnown Nand Flash Linear Data Register
NFC_SDATA 0x40 R/W 0x00000000 Nand Flash Single Data Register
NFC_CTRL 0x50 R/W 0x00f00111 Nand Flash Control Register
NFC_PSTART 0x54 W - Nand Flash Program Start Register
NFC_RSTART 0x58 W - Nand Flash Read Start Register
NFC_DSIZE 0x5C R/W 0x0000ffff Nand Flash Data Size Register
NFC_IREQ 0x60 R/W 0x00000000 Nand Flash Interrupt Request Register
NFC_RST 0x64 W - Nand Flash Controller Reset Register
8-2
TCC82xx Specification
Multimedia Application Processor NFC
8-3
TCC82xx Specification
Multimedia Application Processor NFC
ND_nCS0/1 ND_nCS0/1
ND_CLE ND_CLE
ND_ALE ND_ALE
ND_nWE ND_nWE
ND_nOE ND_nOE
ND_READY0/1 ND_READY0/1
ND_nCS0/1 ND_nCS0/1
ND_CLE ND_CLE
ND_ALE ND_ALE
ND_nWE ND_nWE
ND_nOE ND_nOE
ND_READY0/1 ND_READY0/1
For Writing 0x0012345600 in NFC_LADDR Register For Writing 0x0012345600 in NFC_BADDR Register
- CADDR = 2 (3 Cycle) - CADDR = 2 (3 Cycle)
- PSIZE = 512 Byte - PSIZE = 512 Byte
3) LINEAR ADDRESS 3) BLOCK ADDRESS
8-4
TCC82xx Specification
Multimedia Application Processor NFC
8-5
TCC82xx Specification
Multimedia Application Processor NFC
8-6
TCC82xx Specification
Multimedia Application Processor NFC
8-7
TCC82xx Specification
Multimedia Application Processor NFC
The following figure displays the element cycle diagram for external memories.
8-8
TCC82xx Specification
Multimedia Application Processor NFC
8-9
TCC82xx Specification
Multimedia Application Processor NFC
8-10
TCC82xx Specification
Multimedia Application Processor NFC
NFC_CMD(00h) Write
[NFC_CTRL]
- BW/CEN/CFG/PSIZE/CADDR/STP/PW/HLD Setting.
[NFC_CTRL]
NFC_LADDR Write - BSIZE Setting.
- Read Interrupt Enable Setting.
- DMA Request Enable Setting.
[NFC_DSIZE]
- Transfer Data Size Setting.
[DMA Setting]
NFC_RSTART Write
Data Transfer
ND_CLE
ND_ALE
ND_WEN
ND_OEN
N Times
ND_READY
t(R)
8-11
SD / MMC Controller
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9 SD/MMC CONTROLLER
SD/MMC
Controller
PSELSD
SDIClk CLOCK SDCLK
CONTROLLER
PWRITE
SDICMD
APB BUS
PWDATA
SD/MMC
APB I/F
PRDATA CARD
TRANSFER
SDIWDATA FIFO ENABLE
SDIO
SDIRDATA (8x32 bits) CARD
FIFODATA
SDIDCTRL
SDIDTIMER
DATA PATH SDDATA
CONTROLLER
SDIFLAG SDIIENABLE
STATUS
INTERRUPTS
9-1
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9-2
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
Clock controller generates SDI_CLK (internal operating clock of SD/MMC controller), which is
gated clock of SDCLK. By setting EN field and BP field of SDICLK register to ‘0’, SD/MMC
controller can be halted for saving power.
SDOCLK that is fed to SD/MMC card is inverted from SDI_CLK. Therefore when SDI_CLK
holds to low, SDOCLK shall hold to high.
A SD/MMC command always starts with a start bit (always 0), followed by the bit indicating the
direction of transmission (host = 1). The next 6 bits indicate the index of the command that is
equal to CMDINDEX field of SDICMD register, this value being interpreted as a binary coded
number (between 0 and 63). Some commands need an argument (e.g. an address) that is equal to
CMDARGUMENT field of SDIARGU, which is coded by 32bits. A value denoted by ‘x’ in the
table below indicates this variable is dependent on the command. All commands are protected by
a CRC. Every command codeword is terminated by the end bit (always 1). This SD/MMC
controller automatically attaches the start bit, the direction of transmission bit, CRC (7bits) and
the end bit except command index and argument field. So user set just the command index to
SDICMD register and command argument to SDIARGU register.
9-3
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
EN field of SDICMD register is automatically reset to zero after three cycles from Command
transfer start.
* Response Type
9-4
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
All response from SD/MMC card are sent via the command line CMD. The response
transmission always starts with the left bit of the bit string corresponding to the response
codeword. The code length depends on the response type. A response always starts with a start
bit (always 0), followed by the bit indicating the direction of transmission (card = 0). A value
denoted by ‘x’ in the below indicates a variable entry. All responses except for the type RspType3
are protected by a CRC. Every response codeword is terminated by the end bit (always 1)
A response index must be same with transmitted command index except RspType2 and
RspType3. So user may check whether the controller receives the correct response by the
response index.
When response is short types (RspType1, RspType1b, RspType3, RspType4, RspType5 and
RspType6), SDIRSPARGU0 is only used for card status[39:8]. In the other case,
SDIRSPARGUn registers are used as below.
LongRspArgu[127:96] SDIRSPARGU0
LongRspArgu[95:64] SDIRSPARGU1
LongRspArgu[63:32] SDIRSPARGU2
LongRspArgu[31:00] SDIRSPARGU3
9-5
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9-6
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
The fields in SDIDCTRL2 register are used to define data transfer type (e.g. direction, stop
command). BCNT field and ST field of SDIDCTRL2 are specially used for SDIO or CE-ATA
devices. Those fields don’t’ have meaning when the controller operates in the SD/MMC mode.
*It is important that MODE field is set to ‘0’ for command without data transfer. In other words,
If user want to transmit commands in SDIO (or CE-ATA) without data transfer, then MODE
field has ‘0’ value before transmitting command.
9-7
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 WTD DWT[26:24] BE MBN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MBN FSR FCNT BS WB 0 DEN
FCNT field of SDIDCTRL register is used for data transfer request signal to CPU or DMA.
During a user writes data to device, FIFO_load_request signal (FLR field in SDISTATUS
register) is set to ‘1’ if the number of entries in FIFO is less than FCNT value. But in the case that
a user read data from device, FIFO_fetch_request signal (FFR field in SDISTATIS register) is set
to ‘1’ if the number of entries in FIFO is more than FCNT values. Normally FCNT value ‘4’ is
recommended for 4-read 4write DMA operation.
9-8
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
SDISTATUS register indicates that the controller operates in what kind of state. A user must
control appropriately the controller depending on each status field in SDISTATUS. For example,
before transmitting a command, it is confirmed that the controller is ready to transmit the
command by watching CPR field. Also some fields notify that errors like CRC failure are
occurred. See section 1.3 for detail description.
9-9
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9-10
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9-11
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
In order to transfer data to a device, a user may write data (32bit width) to FIFO through
SDIWDATA register by CPU or DMA. DATA[31:00] on SDIWDATA are re-written FIFO as
two types on endian in according to BE field in SDIDCTRL register as below. The controller
transmits first the most significant bit of data in FIFO.
As like writing data to a device, a user may use read data through SDIRDATA. The relation
between DATA[31:00] on SDIRDATA register and data in FIFO is as below
9-12
TCC82xx Specification
Multimedia Application Processor SD/MMC CONTROLLER
9-13
EHI (External Host Interface)
TCC82xx Specification
Multimedia Application Processor EHI
10 EHI
10.1 Overview
External host interface (EHI) allows external host device to be connected to
system bus of TCC82xx. External host device can be directly connected to
68/80-series interfaces and access the memory area of TCC82xx. For
software based data transfer, EHI can generate internal interrupt of TCC82xx,
and TCC82xx can also send interrupt request to the external host controller.
And this block can be used for external host boot.
10-1
TCC82xx Specification
Multimedia Application Processor EHI
HPCSn
HPWEN
AHB
HPXD[15:0]
Control Registers
HPINT
To interrupt controller
10-2
TCC82xx Specification
Multimedia Application Processor EHI
10.2 Registers
Table 10.2 EHIF register map (Base Address = 0x90008000)
Offset Int. Ext. Reset Description
Name *
*
If an external host device accesses to an EHI register, the offset value that corresponds to it must be written to
EHIND register.
10-3
TCC82xx Specification
Multimedia Application Processor EHI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDY ST[6:0]
Notice that EHST register can be read when HPXA is high.
ST [6:0] Status[6:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IIRQ_ST[6:0] IIRQ
**
It means EXCLUSIVE OR operation.
10-4
TCC82xx Specification
Multimedia Application Processor EHI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EIRQ_ST[6:0] EIRQ
10-5
TCC82xx Specification
Multimedia Application Processor EHI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ST[5:0] FLG[1:0]
10-6
TCC82xx Specification
Multimedia Application Processor EHI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDYP RDYE BW MD
MD [0] Mode
0 80-interface
1 68-interface
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EHIND[7:0]
10-7
TCC82xx Specification
Multimedia Application Processor EHI
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
AI LOCK RW[1:0] BSIZE[3:0]
Notice that EHRWCS is only written by an external host device.
10-8
TCC82xx Specification
Multimedia Application Processor EHI
10.4 Operation
10.4.1 Booting From External Host
In case of external host booting mode, bootstrap codes in the internal ROM
recognize EHI configuration through TCC82xx GPIO ports and initialize
EHCFG register and EHST register. An external host device reads EHST
register from TCC82xx and determines whether TCC82xx is ready for data
transfer. Refer to about TCC82xx booting modes.
10-9
TCC82xx Specification
Multimedia Application Processor EHI
Figure 10.3 Example of writing / reading operation from an external host device
(80 interface, 16bits)
Figure 10.4 Example of writing /reading operation from an external host device
(68 interface, 8bits)
10-10
TCC82xx Specification
Multimedia Application Processor EHI
EHRWCS.WR = 1 EHRWCS_RD = 1
EHRWCS.AI = 1 EHRWCS_AI = 1
Completed ? Completed ?
No No
Yes
EHRWCS = 0 EHRWCS = 0
10-11
TCC82xx Specification
Multimedia Application Processor EHI
Figure 10.7 Example of reading from TCC82xx system bus (68 interface, 8bits)
10-12
IDE Controller
TCC82xx Specification
Multimedia Application Processor IDE
11 IDE
11.1 Overview
IDE controller support to PIO mode0,1,2,3,4.
The simple block diagram of IDE Controller is as followings.
11-1
TCC82xx Specification
Multimedia Application Processor IDE
Maximum Speed
The Speed of a IDE Interface is shown in Table 11.1
11-2
TCC82xx Specification
Multimedia Application Processor IDE
11-3
TCC82xx Specification
Multimedia Application Processor IDE
AHB clock
CS0n/CS1n
DIORn/DIOWn
2 cycles 6 cycles 4 cycles
Write
DD[15:0]
Read
DD[15:0]
CS0n/CS1n
DIORn/DIOWn
2 cycles ( (A+B)5cycles + IORDY ) cycles 3 cycles
IORDY
(A) (B)
Write
DD[15:0]
Read
DD[15:0]
11-4
TCC82xx
Part 3. System
Chapter 1. Interrupt
Chapter 2. Timer
Chapter 3. Clock
Chapter 4. RTC
Chapter 5. DMA
Chapter 6. ADC
Rev. 0.20
Apr. 24 2006
Revision History
1 PIC
1.1 Overview
The following figure represents the block diagram of interrupt controller. Interrupt
controller can manage up to 32 interrupt sources. In the TCC82xx, there are four external
interrupt sources that can be detected various kind of method, that is a rising edge / falling
edge / level high / level low can be detected from external interrupt sources. External
interrupt sources can be fed reliably into interrupt controller with dedicated noise filters.
There are two types of interrupt in ARM946ES; IRQ type, FIQ type.
Interrupt controller can select these two types for each interrupt sources separately.
Clock Edge/Level
PCLK Noise Filter
Generator Selector
ICFG
IREQ
IRQ Flag
APB
CREQ
MREQ
IEN nIRQ
nIRQ/nFIQ
to ARM946E-S
Generator
IRQSEL nFIQ
1-1
TCC82xx Specification
Multimedia Application Processor PIC
The following pseudo code illustrates the sequence of processing the timer interrupt flags.
if (MREQ & TimerREQ) { // If timer interrupt flag is set
if (TIREQ & Timer0) {
process_timer0(); // Process Timer0 interrupt
TIREQ = Timer0; // Clear the flag of Timer0
}
if (TIREQ & Timer1) {
process_timer1(); // Process Timer0 interrupt
TIREQ = Timer1; // Clear the flag of Timer1
}
if (TIREQ & Timer2) {
process_timer2(); // Process Timer0 interrupt
TIREQ = Timer2; // Clear the flag of Timer2
}
if (TIREQ & Timer3) {
process_timer3(); // Process Timer0 interrupt
TIREQ = Timer3; // Clear the flag of Timer3
}
if (TIREQ & Timer4) {
process_timer4(); // Process Timer0 interrupt
TIREQ = Timer4; // Clear the flag of Timer4
}
if (TIREQ & Timer5) {
process_timer5(); // Process Timer0 interrupt
TIREQ = Timer5; // Clear the flag of Timer5
}
CREQ = TimerREQ; // Clear the flag of Timer
}
1-2
TCC82xx Specification
Multimedia Application Processor PIC
1-3
TCC82xx Specification
Multimedia Application Processor PIC
1-4
TCC82xx Specification
Multimedia Application Processor PIC
1-5
TCC82xx Specification
Multimedia Application Processor PIC
1-6
TCC82xx Specification
Multimedia Application Processor PIC
1-7
Timer & Counter
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
2 TIMER / COUNTER
2.1 Overview
The TCC82xx has four 16bit and two 20bit timer/counters. Each timer counter has three
registers for basic operation modes. Refer to register description table for details. When
operating in counter modes, External interrupt pin is used as counting clock for that
counter.
The main clock frequency of timer counter can be configured by setting TCLK frequency.
(Refer to Clock generator block) With the 12bit internal basic counter, the timer counter
can generate various intervals from microseconds to seconds unit.
Basic Clock
TCLK Counter
Counter Selector
TCFG
APB
TCNT
Compare
TREF
(=) TREQ
Compare
TMREF
(=)
Tgl TCO
The following table explains the registers of each timer counter. The address of each timer
counter is 16bytes aligned. The base address of timer counter is 0x80002000.
2-1
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
2-2
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
2-3
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
TCLK
TCK
TCNT 0 1 2 3 4 5 6
TEQU
nTREQ
TCLK
TCK
TCNT 0 1 2 3 0 1 2
TMEQU
TEQU
TCO
nTREQ
TCNTn is increased by 1 at every pulse of selected clock source. TCNTn can be set to
any value by writing to this register. In case of timer 4 and timer 5, it has 20 bits,
otherwise it has 16 bits.
When TCNTn is reached at TREFn and the CON flag of TCFGn register is set to 1, the
TCNTn is cleared to 0 at the next pulse of selected clock source. According to the TCFGn
settings, various kinds of operations may be done. In case of timer 4 and timer 5, it has 20
bit, otherwise it has 16 bit.
2-4
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
When TCNTn is reached at TMREFn and the PWM flag of TCFGn register is set to 1,
the timer output of TCOn is cleared to 0 at the negative edge of that pulse of selected
clock source. The TCOn is set to 1 when the TCNTn is reached at TREFn. (refer Figure
2.1). So you can generate PWM signal by modifying TMREFn between 0 ~ (TREFn-1).
In case of timer 4 and timer 5, it has 20 bit, otherwise it has 16 bit.
If a timer n has reached its reference value, the TFn is set. (bit n represents for Timer n). If
its interrupt request is enabled by set bit 3 of TCFGn register, then the TIn is set. If the TC
bit of IEN register is set, the timer interrupt is really generated and this TIREQ register
can be used to determine which timer has requested the interrupt. After checking these
flags, user can clear these TFn and TIn field by writing “1” to corresponding TFn or TIn
bit field.
2-5
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
Watchdog timer is used for the system not to be stuck by generating a reset pulse
automatically when the watchdog timer counter overflows to zero. It has 8bit counter
and when this counter overflows from 0xFF to 0x00, the reset or interrupt is
generated.
The programmer must clear the watchdog counter before it overflows by writing any
value to TWDCLR register. The duration can be chosen by selecting TCKSEL field
appropriately.
The watchdog timer counter can be cleared to 0 by writing any value to this register.
If it is not cleared before it overflows, the watchdog timer generate reset signal to the
entire component of chip.
2-6
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
As illustrated in the figure 6.3, TC32 consists of a pre-scale counter, main counter
and two comparators. The pre-scale counter is a simple 24-bit up-counter which
always counts from zero to PRESCALE value programmed in TC32EN register.
The 32-bit main counter is incremented only when the prescale counter reaches
PRESCALE value. The clock input of TC32 module can be either XTIN (default) or
XIN. Refer to Clock Generator description (XTTC32 bit of PWDCTL register).
TC32EN Pre-scale
Counter
APB
Main
TC32LDV Counter
Compare
TC32CMP0
(=)
IRQ IRQ to
Compare Sync. Interrupt
TC32CMP1 Controller
(=)
TC32IRQ
2-7
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
2-8
TCC82xx Specification
Multimedia Application Processor TIMER / COUNTER
2-9
CKC (Clock Controller)
TCC82xx Specification
Multimedia Application Processor CKC
3 CKC
3.1 Overview
The CKC block have 4 primary clock sources from pll0, pll1, XIN and XTIN. Pll clock sources,
XIN and XTIN can generate divided clock. These 4 primary clock sources and 4 divided clock
sources can be used for generating the CPU clock, the bus clock, and each peripheral clocks.
The output clock of safe clock changer, which generates glitch-free clock from 8 independent
clock sources, can be used for making the main operating clocks (CPU clock and bus clock).
The peripheral clock generator makes the corresponding hardware clock using 4 primary clock
sources and 4 divided clock sources.
The TCC82xx has 2 operating modes, halt-mode and power-down mode. In the halt mode, the
CPU clock and bus clock are masked until the FIQ or IRQ interrupt. In power-down mode, all
the oscillator circuits are disabled and all the clocks in TCC82xx are masked until the pre-defined
external interrupt.
CLOCK SAFE
AHB Bus I/F CONTROLLER CLOCK HCLKGEN FBUS
REGISTER I/F CHANGER
FSYS
Reg.
Config. s CPUCLKGEN FCPU
PLL0
PLL0 Reg.
DIVIDER Config. s
PLL1
PLL1
DIVIDER PCLK
CKSRCs PCLKs
XIN GENERATORs
XIN
DIVIDER
XTIN BUS CLK S/W RESET SWRESETs
CONTROLLER
XTIN
DIVIDER
3-1
TCC82xx Specification
Multimedia Application Processor CKC
3-2
TCC82xx Specification
Multimedia Application Processor CKC
3-3
TCC82xx Specification
Multimedia Application Processor CKC
3-4
TCC82xx Specification
Multimedia Application Processor CKC
3-5
TCC82xx Specification
Multimedia Application Processor CKC
3-6
TCC82xx Specification
Multimedia Application Processor CKC
3-7
TCC82xx Specification
Multimedia Application Processor CKC
3-8
TCC82xx Specification
Multimedia Application Processor CKC
3-9
TCC82xx Specification
Multimedia Application Processor CKC
3-10
TCC82xx Specification
Multimedia Application Processor CKC
3-11
TCC82xx Specification
Multimedia Application Processor CKC
3-12
TCC82xx Specification
Multimedia Application Processor CKC
3-13
TCC82xx Specification
Multimedia Application Processor CKC
3-14
TCC82xx Specification
Multimedia Application Processor CKC
3-15
TCC82xx Specification
Multimedia Application Processor CKC
3-16
TCC82xx Specification
Multimedia Application Processor CKC
3-17
TCC82xx Specification
Multimedia Application Processor CKC
3-18
TCC82xx Specification
Multimedia Application Processor CKC
3-19
TCC82xx Specification
Multimedia Application Processor CKC
An example of the timing diagram for changing the clock is shown below – Figure 3.2
3 ~ 4 Cycles
CPUCLK
CKSEL 4 0 2
3 Cycles 3 Cycles
Change Event from ‘SLOW’ Clock to ‘FAST’ Clock Change Event from ‘FAST’ Clock to ‘SLOW’ Clock
An example shows two changing sequences. The first sequence is for changing from slower to
faster frequency.
When the CPU write the ‘CKSEL’ register bits with specified value ( ‘0’ in this example ), the
glitch-free circuit in the CKC hardware first stops the current clock after 3 clock cycles. And then
in the 3 clock period, the clock multiplexor changes from the current clock to the next clock.
Finally, the wake-up circuits enables the clock output. The changing sequence from ‘faster’ to
‘slower’ clocks is same procedure.
The Figure 3.3 shows the configuration procedure for peripheral clock.
The programmer should take care of some cautions in configuring the peripheral clock for
corresponding hardware. (ex, I2C, DAI, etc.)
The controller should be in reset state by setting the SWRESET bit before configuring the
hardware clock and configuring the corresponding ports. If you configure the clock and ports in
not-reset state, which is not-initialized state, the unexpected operations can occur.
The hardware starts operating by clearing the SWRESET bit after the configuration for the clock
and ports of corresponding controller.
If you want to close the hardware operation, you should make the controller into reset-state by
SWRESET bit and stop the clock and release the port.
If the controller is in reset-state (SWRESET=’1’), the program can’t access the control register for
corresponding hardware.
3-20
TCC82xx Specification
Multimedia Application Processor CKC
The Table 3.2 lists the reference PMS value for corresponding target frequency.
TBD
The timing diagram of entering halt mode is shown below, Figure 3.4.
To enter the halt mode, all you do is writing the ‘1’ into ‘HALT’ bit.
If the program sets the ‘HALT’ bit, the halt mode controller stops the CPU clock after 3 clock
cycles. After then, the CPU can’t access the bus, TCM, and cache components any more. This
causes that the clocks to CPU would be stopped, the processor do not operate any more, and the
power consumption could be reduced.
But this mode is not recommended because all the correlated operations between cache and bus
components are not proven yet.
The ARM946ES core has the same function, the waiting-for-interrupt function described in
ARM946ES technical reference manual is to halt the processor core and wait until IRQ or FIQ
interrupt. In this mode, the internal clock does not propagate to reduce the power consumption.
3-21
TCC82xx Specification
Multimedia Application Processor CKC
The timing diagram of exit halt mode is shown below, Figure 3.4.
CPUCLK
Interrupt
HALT Normal Mode Halt Mode
Service Routine
Normal Mode
3 Cycles
3 Cycles
IRQ / FIQ
Wakeup Event by IRQ or FIQ
The only way to exit halt mode is that the IRQ or FIQ interrupt occur. In halt mode, the FIQ or
IRQ interrupt wakes up the halt-mode controller and enables the CPU clocks.
After enabling the CPU clock, the processor in halt mode goes to interrupt service routine and
goes to normal mode after the interrupt service routine. And you can re-enter the halt mode when
no jobs to process.
The timing diagram of entering power-down mode is shown below, Figure 3.5.
In the power-down mode, all the on-chip clocks are disabled including main oscillator (XIN). To
enter the power-down mode, all you do is set the ‘PWRDN’ bit by software.
Once the ‘PWRDN’ bit is set, the CKC power-down controller disables the oscillator after 1.5 or
2.5 cycles. After some cycles, the main crystal does not oscillate any more until the external
interrupt.
In the power-down mode, the power consumption is lowest among the various powered-on
operating modes. But, the wake-up time is longest.
If you selected the XTIN with power-down mode clock, the XTIN oscillator is not disabled
because the XTIN oscillator is always turned-on.
3-22
TCC82xx Specification
Multimedia Application Processor CKC
The timing diagram of exit power-down mode is shown below, Figure 3.5.
XIN
Interrupt
PWRDN Normal Mode PWRDN
Service Routine
Normal Mode
3 Cycles
XINEN
XIN Disabled XIN Re-Enabled
EINT
Wakeup Event by External Interrupt
The only way to exit the power down mode is external interrupt, which does not controlled by
oscillator (ex, key, host, etc).
The external interrupt wakes up the power-down controller in CKC and enables the main
oscillator(XIN). The clocks from main oscillator goes through the CKC blocks via on-chip clock-
noise filter, which consumes the long wake-up time, and the processor starts interrupt service.
3-23
RTC (Real Time Clock)
TCC82xx Specification
Multimedia Application Processor RTC
4 RTC
4.1 Overview
The Real Time Clock (RTC) unit can operate by the backup battery although
the system power turns off. The RTC transmits data to CPU as BCD (binary
coded decimal) values. The data includes second, minute, hour, date, day of
the week, month, and year. The RTC unit works with an external 32.768kHz
crystal and also can perform the alarm function. The block diagram is shown
in Figure 4.1.
Features
z Clock and calendar functions (BCD display): seconds, minutes, hours,
date, day of week, month, year
z Leap year generator
z Wake-up (PMWKUP) signal generation: support on the power down
mode (PWDN)
z Alarm interrupt (ALMINT) in normal operation mode
z Power Supply Voltage: System power supply(3.0V, 1.2V), Backup
battery (3.0V)
RTC
RTCEXTAL1
RTCXTAL1 Oscillator and Reset Register Leap Year Generator
Clock Divider
RTCOSC
PWDN
PRI Control Register
Alarm Generator PMWKUP
& Control
ALMINT
APB Interface
4-1
TCC82xx Specification
Multimedia Application Processor RTC
The leap year generator calculates which the last date of each month is 28,29,30 or 31
that is based on data from BCDDAY, BCDMON, and BCDYEAR. This also
considers leap years in deciding the last date. A 16 bit counter can just represent four
BCD digits, so it can decide whether any year is a leap year or not.
It is required to set bit 1 of the RTCCON register for interfacing between CPU and
RTC logic. An one second error can occur when the CPU reads or writes data into
BCD counters and this can cause the change of the higher time units. When the CPU
reads/writes data to/from the BCD counters, another time unit may be changed if
BCDSEC register is overflowed. To avoid this problem, the CPU should reset
BCDSEC register to 00h. The reading sequence of the BCD counters is BCDYEAR,
BCDMON, BCDDATE, BCDDAY, BCDHOUR, BCDMIN, and BCDSEC. It is
required to read it again from BCDYEAR to BCDSEC if BCDSEC is zero.
The RTC logic is driven by backup battery if the system power turns off. The
interfaces of the CPU and RTC logic are blocked and the battery only drives the
oscillation circuit and the BCD counters to minimize power dissipation.
The RTC generates alarm signal at specified time in the normal operation mode. In
normal operation mode, the alarm interrupt (ALMINT) is activated. The RTC alarm
register, RTCALM, determines the alarm enable and the condition of the alarm time
setting.
The round reset function can be performed by the RTC round reset register, RTCRST.
You can select the round boundary (30, 40, or 50 sec) of the second carry generation
and the second value is rounded to zero value in the round reset operation. For
example, when the current time is 23:37:47 and the round boundary is selected as 40
sec, the round reset operation changes the current time with 23:38:00.
4-2
TCC82xx Specification
Multimedia Application Processor RTC
Figure 4.2 shows how to initialize register of RTCINT block ( RTCALM, RTCIM,
RTCPEND ).
RTCWEN of RTCCON reg. <= 1'b1 RTC Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b1 RTCINT Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b0 RTCINT Block Write Enable Bit Clear
RTCWEN of RTCCON reg. <= 1'b0 RTC Block Write Enable Bit Clear
Figure 4.3 shows how to set the time when clock is stopped. This works when the
entire calendar or clock is to be set.
RTCWEN of RTCCON reg. <= 1'b1 RTC Block Write Enable Bit Setting
4-3
TCC82xx Specification
Multimedia Application Processor RTC
RTCWEN of RTCCON reg. <= 1'b1 RTC Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b1 RTCINT Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b0 RTCINT Block Write Enable Bit Clear
RTCWEN of RTCCON reg. <= 1'b0 RTC Block Write Enable Bit Clear
RTCWEN of RTCCON reg. <= 1'b1 RTC Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b1 RTCINT Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b0 RTCINT Block Write Enable Bit Clear
RTCWEN of RTCCON reg. <= 1'b0 RTC Block Write Enable Bit Clear
4-4
TCC82xx Specification
Multimedia Application Processor RTC
System Power On
- Alarm Interrupt
- Wake-Up Interrupt
Normal Operation - PM Wake-Up in Power Off Mode
RTCWEN of RTCCON reg. <= 1'b1 RTC Block Write Enable Bit Setting
INTWREN of INTCON reg. <= 1'b1 RTCINT Block Write Enable Bit Setting
WKUPINT or
PMWKUP ?
NO! YES!
4-5
TCC82xx Specification
Multimedia Application Processor RTC
Crystal oscillator circuit constants (recommended values) are shown in Table 4.1, and
the RTC crystal oscillator circuit in Figure 4.7.
User
Chip
RTCEXTAL1
Cin
Rf
Crystal 10 Mega Ohm
XT
Cout RTCXTAL1
Notes: 1. Select either the Cin or Cout side for frequency adjustment variable capacitor according to
requirements such as frequency range, degree of stability, etc.
2. Built-in registance value Rf(Typ value) = 10 Mega Ohm
3. Cin and Cout values include floating capacitance due to writing. Take care when using a
ground plane.
4. The crystal oscillation setting time depends on the mounted circuit constants, floating
capacitance, etc., and should be decided after consultation with the crystal resonator
manufacturer.
5. Place the crystal resonator and load capacitance Cin and Cout as close as possible to
the chip. (Correct oscillation may not be possible if there is externally included noise in
RTCEXTAL1 and RTCXTAL1 pins.)
6. Ensures that the crystal resonator connection pin (RTCEXTAL1, RTCXTAL1) wiring is
routed as far away as possible from other power lines (except GND) and signal lines.
4-6
TCC82xx Specification
Multimedia Application Processor RTC
4-7
TCC82xx Specification
Multimedia Application Processor RTC
4-8
TCC82xx Specification
Multimedia Application Processor RTC
4-9
TCC82xx Specification
Multimedia Application Processor RTC
4-10
TCC82xx Specification
Multimedia Application Processor RTC
4-11
TCC82xx Specification
Multimedia Application Processor RTC
4-12
TCC82xx Specification
Multimedia Application Processor RTC
4-13
TCC82xx Specification
Multimedia Application Processor RTC
4-14
DMA Controller
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
5 DMA CONTROLLER
5.1 Overview
TCC82xx has 3-channel general DMA(gDMA, This DMA is called Centeral DMA sometimes)
controller for data transfer and 1 channel DMA for USB Device (usbDMA). gDMA can be used
to perform high-speed transfers between external memory, on-chip memory, memory-mapped
external devices, and on-chip peripheral module. It’s possible to select channel priority levels with
fixed priority or round-robin priority.
usbDMA is used to perform high-speed transfers between USB device and any other memory
mapped device.
When usbDMA is not used for USB Device, it can be used gDMA .
The block diagram of gDMA and usb DMA controller is in the following figure.
CHANNEL
R e g is te rs EREQ
E x te rn a l 16
R equest
A H B I/F S e le c to r
C o n tro l
s ig n a l
G e n e ra to r
IR Q
S o u rc e / In te rru p t
D e s tin a to n G e n e ra to r
A A d d re s s
H G e n e ra to r
B
B
U D a ta B u ffe r
S C H AN N EL0 ( 8 x 3 2 F ifo )
C H A N N E L1
C H A N N E L2
CHANNEL MUX
C H A N N E L A R B IT E R
18-1
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
CHANNEL
R e g is te rs EREQ
E x te rn a l 16
R equest
A H B I/F S e le c to r
C o n tro l
A s ig n a l
H G e n e ra to r
B
IR Q
S o u rc e / In te rru p t
B D e s tin a to n G e n e ra to r
U A d d re s s
S G e n e ra to r
D a ta B u ffe r
( 8 x 3 2 F ifo )
C H A N N E L0
18-2
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
Table 5.1 General DMA Controller Register Map (Base Address = 0x8000E000)
Name Address Type Reset Description
ST_SADR0 0x00 R/W 0x00000000 Start Address of Source Block
C
SPARAM0 0x04 R/W 0x00000000 Parameter of Source Block
H
C_SADR0 0x0C R 0x00000000 Current Address of Source Block
A
ST_DADR0 0x10 R/W 0x00000000 Start Address of Destination Block
N
DPARAM0 0x14 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR0 0x1C R 0x00000000 Current Address of Destination Block
L HCOUNT0 0x20 R/W 0x00000000 Initial and Current Hop count
0 CHCTRL0 0x24 R/W 0x00000000 Channel Control Register
RPTCTRL0 0x28 R/W 0x00000000 Repeate Control Register
CHCONFIG 0x2C R/W 0x00000000 Channel Configuration Register
ST_SADR1 0x30 R/W 0x00000000 Start Address of Source Block
C
SPARAM1 0x34 R/W 0x00000000 Parameter of Source Block
H
C_SADR1 0x3C R 0x00000000 Current Address of Source Block
A
ST_DADR1 0x40 R/W 0x00000000 Start Address of Destination Block
N
DPARAM1 0x44 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR1 0x4C R 0x00000000 Current Address of Destination Block
L HCOUNT1 0x50 R/W 0x00000000 Initial and Current Hop count
1 CHCTRL1 0x54 R/W 0x00000000 Channel Control Register
RPTCTRL1 0x58 R/W 0x00000000 Repeate Control Register
ST_SADR2 0x60 R/W 0x00000000 Start Address of Source Block
C
SPARAM2 0x64/0x68 R/W 0x00000000 Parameter of Source Block
H
C_SADR2 0x6C R 0x00000000 Current Address of Source Block
A
ST_DADR2 0x70 R/W 0x00000000 Start Address of Destination Block
N
DPARAM2 0x74/0x78 R/W 0x00000000 Parameter of Destination Block
N
E C_DADR2 0x7C R 0x00000000 Current Address of Destination Block
L HCOUNT2 0x80 R/W 0x00000000 Initial and Current Hop count
2 CHCTRL2 0x84 R/W 0x00000000 Channel Control Register
RPTCTRL2 0x88 R/W 0x00000000 Repeate Control Register
18-3
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
18-4
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
source address is masked, and so on. If a bit is masked, a corresponding bit of address bus is not
changed during DMA transfer. This function can be used to generate circular buffer address.
18-5
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
18-6
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
DMASEL[15] Timer
DMASEL[14] UART1 Transmite
DMASEL[13] UART1 Receive
DMASEL[12] LCD controller
DMASEL[11] SD Card
DMASEL[10] ECC controller
DMASEL[09] SPI controller
DMASEL[08] NAND flash controller
DMASEL[07] UART0
DMASEL[06] GSIO
DMASEL[05] I2S Transmite
DMASEL[04] I2S Receive
DMASEL[03] External Interrupt 3
DMASEL[02] External Interrupt 2
DMASEL[01] External Interrupt 1
DMASEL[00] External Interrupt 0
18-7
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
Burst means that once the DMA request occurs, all of transfers are executed without further
DMA requests.
DMA Transfer
R R R R W W W W R R R R W W W W
* Arbitration Mode
Figure 5.3 Relation between Hop and Burst Transfers (If burst size is 4.)
Hardware type transfer means that the DMA transfer triggered by external or internal hardware
blocks selected by DMASEL field in CHCTRL register. This field has same mapping with
interrupt enable flag of interrupt controller, so the DMA transfer can be occurred as like as
interrupt is generated.
Software type transfer means that the DMA transfer triggered by EN bit of CHCTRL Register .
When this is set to 1, transfer request signal is generated internally and then the transfer begins
immediately.
Hardware demand type transfer (HW_DEMAND) means that once the DMA request occurs,
DMA checks request signal each hope transfer, and if request signal is set, DMA transfer one
hope’s data. After transferring all hope’s data, DMA operation will be finished.
18-8
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
EREQ
EREQ
Transefer IDLE 1HOP WAIT 1HOP WAIT 1HOP WAIT 1HOP WAIT
Transefer IDLE 1HOP WAIT 1HOP WAIT 1HOP WAIT 1HOP WAIT 1HOP
It does not automatically cleared by another transfer starts, so before starting any other DMA
transfer, user must clear this flag to 0 for checking DMA status correctly.
18-9
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
18-10
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
18-11
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
CH1 CH0
< 2CHANNEL TRANSFER with Fixed Priority (channel 1 higher priority) >
IDLE 1HOP WAIT 1HOP WAIT 1HOP WAIT 1HOP WAIT 1HOP
18-12
TCC82xx Specification
Multimedia Application Processor DMA CONTROLLER
This bit is automatically cleared when FLAG bit of channel0 is cleared. This bit is read only.
18-13
ADC
TCC82xx Specification
Multimedia Application Processor ADC
6 ADC
6.1 Overview
The TCC82xx has 2 channel general purpose low-power ADC for battery level detection, key detection, remote
control interface, touch screen interface, etc. It is a CMOS type 10bit A/D converter with 2-channel analog input
multiplexer.
• Resolution : 10-bit
• Maximum Conversion Rate : 500KSPS
• Main Clock : 2.5MHz (Max.)
• Standby Mode
• Input Range : 0.0V ~ VDDA_ADC
IRQ to Interrupt
Controller
STC
Timing STBY ADC AIN[1:0]
ADCCFG
APB
Except for the APB interface, the ADC controller module runs with ADCLK from the Clock Generator module. The
clock input is always divided before sent to the ADC core. The PCLKCFG6 register of Clock Generator and
CLKDIV bits of ADCCFG register must be programmed to get desired frequency. The maximum frequency of CLK
signal in Figure 6.1 must not exceed 2.5MHz.
When one of the ADCCON or ADCCONA register is written with a channel number (SEL[2:0]), the SEL value
is posted to the Command Buffer. The ADC Core starts conversion cycle as long as the Comand Buffer is not
empty. After the conversion cycle is completed, the result is written in Read Data Buffer. The data can be
read from either ADCDATA or ADCSTATUS register. Up to four different SEL values can be posted to the
Command Buffer. When the buffer is full, data written to ADCCON/ADCCONA registers are ignored.
Various operating options can be set by using ADCCFG register.
6-1
TCC82xx Specification
Multimedia Application Processor ADC
6-2
TCC82xx Specification
Multimedia Application Processor ADC
6-3
TCC82xx Specification
Multimedia Application Processor ADC
6-4
TCC82xx
Part 4. Video
Chapter 4. Graphic 2D
Chapter 6. Scaler
Rev. 0.20
Apr. 24 2006
TCC82xx Preliminary Specification
Multimedia Application Processor PART 4. VIDEO
Revision History
ii
CIF
TCC82xx Specification
Multimedia Application Processor CIF
1 Camera Interface
1.1 Overview
- Scaling ratio
Upscale : 1 : 4
Downscale : 64 : 1
Each step size is 256 step
- Input image : 1600 x 1200 x 8fps
- Output image 1600 x 1200 x 8fps
- Supporting windowing
- CAUTION
If you operate the effect mode, format register of camera (ICPCR1 reg.) is
set 16bit yuv mode. Because architecture of effect block is that input
format is 8 bit YUV(RGB565/555) and output format of effect mode is
only 16 bit YUV mode. Input image format is RGB mode, ‘en’ field of
CR2Y register set ‘1’, then CIF_FMT of figure 1.1 is operated and output
format of CIF_FMT is 8bit YUV mode. Input format is 16bit
mode(RGB/YUV), you can’t use the effect mode.
Preliminary 1-1
TCC82xx Specification
Multimedia Application Processor CIF
Sencor_CLK
Register
PXCLK CIF_CLKCTRL
Bank
SCLK SCLK
CKC_CTRL Register
MCLK
PXCLK
CIF_PACK CIF_Macro CIF_DMA
PACK/UNPAC 32 32
HS HS FIFO_Y DMA_Y
CIF_ONOFF CIF_FMT CIF_SKIP K
CIF_ 32 32
VS VS Windowing FIFO_U DMA_U
Scaler CAP
AHB_BUS
Format_
Sync_pol. Skip_frame CTRL
DATA DATA conv 32 32
Scaling FIFO_V DMA_V
8/16
32 32
Overlay FIFO_OL DMA_OL
Macro_status VS
VS
Status
The image data have several formats. The input data is packed the 32 bit data bus and
stored in the memory. The packing sequence is shown in Figure 1.2. The packing
method is composed 2 methods that are separated and non-separated from each
channel. If channel data isn’t separated, the sequence of channels is shown in Table 1.1.
This sequence is applied to overlay images..
The CIF have the interrupt signal that is shown a t the storing 1 frame image
pixel clock
HS
Y[7:0] Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 Y9
UV[7:0] U0 V0 U2 V2 U4 V4 U6 V6 U8 V8
1-2 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Preliminary 1-3
TCC82xx Specification
Multimedia Application Processor CIF
1-4 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Preliminary 1-5
TCC82xx Specification
Multimedia Application Processor CIF
Color Sequence
CS [5:4]
555RGB 565RGB 4:4:4/4:2:2:/4:2:0 Bayer RGB CCIR656
00 RGB(MG) RGB R/Cb/U first BG->GR YCbYCr
01 RGB(LG) RGB R/Cb/U first GR->BG YCrYCb
10 BGR(MG) BGR B/Cr/V first RG->GB CbYCrY
11 BGR(LG) BGR B/Cr/V first GB->RG CrYCbY
MG/LG of 555RGB item means MSB/LSB 1bit garbage.
The sequence of Bayer RGB means that odd line is BGBGBG… and even line is
GRGRGR…. at 00.
Default value is 00.
1-6 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
This register and next register (656FCR1 and 656FCR2) define the configuration of
CCIR656. The figure 1.3 shows that the control signals of this format.
HS CCIR601 H signal
EAV SAV
F 0 0 X 8 1 8 1 F 0 0 X C C C
… Y Y Y Y
F 0 0 Y 0 0 0 0 F 0 0 Y B R B
8-bit data
D7
D6 D5 D4 D3 D2 D1 D0
(MSB)
1 1 1 1 1 1 1 1
preamble 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
status 1 F V H P3 P2 P1 P0
If RGB bit mode is 8 bit disable mode, we must find the location of preamble and status
for getting sync information. The total size of preamble and status is composed 4 bytes
that preamble is 3 bytes and status is 1 byte. This register used to find the location of
status word.
FIELD Description
Preliminary 1-7
TCC82xx Specification
Multimedia Application Processor CIF
1-8 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
Horizontal blank
HB [8:5] In status word, location of ‘H’ and H value at blanking. The MSB 3 bit means
the location of ‘H’, the other bit means value at blanking. Default value is 0x09.
Vertical blank
VB [3:0] In status word, location of ‘V’ and V value at blanking. The MSB 3 bit means
the location of ‘V’, the other bit means value at blanking. Default value is 0x0B
FIELD Description
HSIZE [31:16] Horizontal size of input image
VSIZE [15:0] Vertical size of input image
Preliminary 1-9
TCC82xx Specification
Multimedia Application Processor CIF
Input Image
VW1
HW1 HW2
Windowing Image
VW2
1-10 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
CDCR2 [31:0] Input Image Base Address. / Y(G) channel base address
FIELD Description
CDCR3 [31:0] U(R) Channel Base Address.
FIELD Description
CDCR4 [31:0] V(B) Channel Base Address
FIELD Description
Input Image End Address. / Y(G) channel end address
CDCR5 [31:0]
This mode is operated, when rolling address Y is enable.
Preliminary 1-11
TCC82xx Specification
Multimedia Application Processor CIF
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
U(R) Channel End Address<15:0>
FIELD Description
U(R) Channel End Address
CDCR6 [31:0]
This mode is operated, when rolling address U is enable.
FIELD Description
V(B) Channel End Address
CDCR7 [31:0]
This mode is operated, when rolling address U is enable.
1-12 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Low.
1 The full signal of overlay FIFO and write enable signal are High.
WEV [12] V(B) Channel FIFO Write Error
0 The full signal of V(B) channel FIFO is Low, or full is High and write enable
signal is Low.
1 The full signal of V(B) channel FIFO and write enable signal are High.
WEU [11] U(R) Channel FIFO Write Error
0 The full signal of U(R) channel FIFO is Low, or full is High and write enable
signal is Low.
1 The full signal of U(R) channel FIFO and write enable signal are High.
WEY [10] Y Channel FIFO Write Error
0 The full signal of Y channel FIFO is Low, or full is High and write enable signal
is Low.
1 The full signal of Y channel FIFO and write enable signal are High.
EO [8] Overlay FIFO Empty Signal
0 The state of overlay FIFO is non-empty.
1 The state of overlay FIFO is empty.
EV [7] V(B) Channel FIFO Empty Signal
0 The state of V(B) channel FIFO is non-empty.
1 The state of V(B) channel FIFO is empty.
EU [6] U(R) Channel FIFO Empty Signal
0 The state of U(R) channel FIFO is non-empty.
1 The state of U(R) channel FIFO is empty.
EY [5] Y Channel FIFO Empty Signal
0 The state of Y channel FIFO is non-empty.
1 The state of Y channel FIFO is empty.
FO [3] Overlay FIFO Full Signal
0 The state of overlay FIFO is non-full.
1 The state of overlay FIFO is full.
FV [2] V(B) Channel FIFO Full Signal
0 The state of V(B) channel FIFO is non-full.
1 The state of V(B) channel FIFO is full.
FU [1] U(R) Channel FIFO Full Signal
0 The state of U(R) channel FIFO is non-full.
1 The state of U(R) channel FIFO is full.
FY [0] Y Channel FIFO Full Signal
0 The state of Y channel FIFO is non-full.
1 The state of Y channel FIFO is full.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 VSS 0 VN VP VIT SE SF ENS ROLV ROLU ROLY SCF SOF
Preliminary 1-13
TCC82xx Specification
Multimedia Application Processor CIF
1-14 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
1 Mask
VN [10] VS negative.
0 -
1 When VS is generated in negative edge.
VP [9] VS positive
0 -
1 When VS is generated in positive edge.
Preliminary 1-15
TCC82xx Specification
Multimedia Application Processor CIF
1-16 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
0 25 %
1 50 %
2 75 %
3 100 % or XOR operation
When 565RGB and AEN, alpha value is depend on AP0 value.
Preliminary 1-17
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
OHSIZE Horizontal size of overlay image
[31:16] Default value is 0x0280. (decimal is 640)
Vertical size of overlay image
OVSIZE [15:0]
Default value is 0x01E0 (decimal is 480)
1-18 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OHW2<15:0>
Input
Image
OVW1
OHW1 OHW2
Windowing
Image
OVW2
FIELD Description
Overlay Image Base Address.
COBA [31:0]
Default value is 0x20100000.
Preliminary 1-19
TCC82xx Specification
Multimedia Application Processor CIF
1-20 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Preliminary 1-21
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
Using capture and encoding, this register desides the encoding start point.
CESA[31:0] Default value is 0x20100000.
This address is compare with Y address.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FMT EN
FIELD Description
CCYA[31:0] Current Y Address.
1-22 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
CCUA[31:0] Current U Address
FIELD Description
CCVA[31:0] Current V Address
FIELD Description
LCNT[15:0] Current Line Count
Preliminary 1-23
TCC82xx Specification
Multimedia Application Processor CIF
4:4:4 format
CLK
HS
Y[7:0] Y0 Y1 Y2 Y3 Y4
CbCr[7:0] Cb0 Cr0 Cb1 Cr1 Cb2 Cr2 Cb3 Cr3 Cb4 Cr4
pixel clk * 2
* YCbCr, YUV, RGB [Y(G), Cb(U,R), Cr(V,B)]
pixel clock
* YCbCr, YUV, RGB [Y(G), Cb(U,R), Cr(V,B)]
pixel clock * 2
* YCbCr, YUV, RGB [Y(G), Cb(U,R), Cr(V,B)]
pixel clock
1-24 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Preliminary 1-25
TCC82xx Specification
Multimedia Application Processor CIF
The TCC82XX provides image effect in camera interface. The supporting effect modes
are YUV bias (YUV offset value), Inversion of Y value, strong C mode (x2 C value), Y
clipping, color filter, sketch mode, embossing (positive and negative), gray, and sepia.
The input format of effect mode is always 8 bit yuv format and output format is only
16bit mode. So, this is not supported in 16 bit mode. But this is supported RGB555,565
mode. If you want to use effect from 8bit 555RGB or 565RGB in 8 bit mode, camera
interface provides RGB to YUV format converter.
For Example, input mode is RGB565, CIF_FMT block of camera interface is converted
from RGB565 8 bit mode to YUV422 8bit mode, then through effect block, output data
of effect block if YUV422 16 bit mode.
i_vs
i_hs
pclk
i_data[7:0] Y0 U0 Y1 V0 Y2 U2 Y3 V2 Y4 U4 Y5 V4
i_vs
i_hs
o_data_en
mclk
o_data[15:8] Y0 Y1 Y2 Y3 Y4 Y5
o_data[7:0] U0 V0 U2 V2 U4 V4
1-26 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
Preliminary 1-27
TCC82xx Specification
Multimedia Application Processor CIF
IVY[10] Invert Y
0 Disable
1 Enable
STC[9] Strong C
0 Disable
1 Enable
1-28 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
0 Disable
1 Enable
EMB[4] Emboss
0 Disable
1 Enable
FIELD Description
SEPIA_U[15:8] U chanel threshold value for sepia
SEPIA_V[7:0] V channel threshold value for sepia
FIELD Description
Preliminary 1-29
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
Coeff0[23:16] Horizontal filter coefficient0 for emboss or sketch.
Coeff1[15:8] Horizontal filter coefficient1 for emboss or sketch.
Coeff2[7:0] Horizontal filter coefficient2 for emboss or sketch
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Sketch Threshold
FIELD Description
Sketch[7:0] Sketch threshold
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Clamp Threshold
FIELD Description
Clamp[7:0] Clamp threshold
FIELD Description
Y_BIAS[23:16] Y value offset
1-30 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
HSIZE[26:16] Horizontal size of input image
VSIZE[10:0] Vertical size of input image
FIELD Description
H2H_WIAT Horizontal sync (hs) to hs wait cycle.
[31:16]
FIELD Description
STB_CYCLE CCIR strobe cycle.
[15:12]
Minimum. Value of STB_CYCLE is 4.
FIELD Description
INP_WAIT -
[6:4]
INPR[3] -
0 -
1 -
Preliminary 1-31
TCC82xx Specification
Multimedia Application Processor CIF
0 Camera mode
1 Memory mode
FIELD Description
SRC_BASE Source base address (31 downto 28 bit assign in base address).
[31:28]
FIELD Description
SRC_BASE_Y Source base address in Y channel (27 downto 0 bit assign in base address).
[31:28]
FIELD Description
SRC_BASE_U Source base address in U channel (27 downto 0 bit assign in base address).
[27:0]
FIELD Description
SRC_BASE_V Source base address in V channel (27 downto 0 bit assign in base address).
[27:0]
1-32 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
SRC_HSIZE Horizontal size in source image
[27:16]
SRC_VSIZE Vertical size in source image
[11:0]
FIELD Description
SRC_OFFSET_Y Source address offset in Y channel
[27:16]
SRC_OFFSET_C Source address offset in C channel
[11:0]
FIELD Description
DST_HSIZE Horizontal size in destination image
[27:16]
DST_VSIZE Vertical size in destination image
[11:0]
Preliminary 1-33
TCC82xx Specification
Multimedia Application Processor CIF
0 HSCALE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VSCALE
FIELD Description
HSCALE Horizontal scale factor
[29:16]
VSCALE Vertical scale factor
[13:0]
HSCALE = SRC_HSIZE * 256 / DST_HSIZE.
VSCALE = SRC_VSIZE * 256 / DST_VSIZE
1-34 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
The TCC82XX provides image scaler in camera interface. The supporting scaling ratio
is 1 : 4 (zoom up to 4 times) to 64 : 1 (zoom down to 64 times), scaling step is 256 step.
Maximum scaling image is 1600*1200*8 fps.
Preliminary 1-35
TCC82xx Specification
Multimedia Application Processor CIF
1-36 Preliminary
TCC82xx Specification
Multimedia Application Processor CIF
FIELD Description
HSCALE Horizontal scale factor
[29:16]
VSCALE Vertical scale factor
[13:0]
HSCALE = SRC_HSIZE * 256 / DST_HSIZE.
VSCALE = SRC_VSIZE * 256 / DST_VSIZE
FIELD Description
H_OFFSET Horizontal offset
[27:16]
VSCALE Vertical offset
[11:0]
Preliminary 1-37
TCC82xx Specification
Multimedia Application Processor CIF
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0 H_SIZE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 V_SIZE
FIELD Description
H_SIZE Horizontal size in source image
[27:16]
V_SIZE Vertical size in source image
[11:0]
FIELD Description
H_SIZE Horizontal size in destination image
[27:16]
V_SIZE Vertical size in destination image
[11:0]
1-38 Preliminary
LCD Controller
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
2 LCD Interface
2.1 Overview
The LCD controller (LCDC) is used to send out image data from the system memory
or scaler to LCD panels or an NTSC/PAL encoder by properly formatting the raw
image data stored in the memory. The LCDC provides all the necessary control signals
to interface directly to mono STN, color STN, TFT panels, and NTSC/PAL encoders.
y supports dual Thin Film Transistor(TFT) color displays with 8-bit, 16-bit or
18-bit interface
y supports Super Twisted Nematic(STN) displays with 4 or 8-bit interface
y 1, 2 or 4 bits per pixel(bpp) displays for mono STN
y 8(332) /16 bpp color displays for color STN
y 16 bpp true-color non-palettized color displays for color TFT
y resolution programmable up to 1024 * 1024
y programmable timing for different display panels
y NTSC/PAL digital video encoder interface (CCIR601/656 interface)
y Supports color lookup table for 8bpp(332bbp, using FIFO2).
y Supports the overlay and alpha blending (2 overlay and 1 original image)
y Supports the image up/down scaling (x2, x3, x4, x8)
Register
Bank Timing
Controller
LDMAC1 Timing control
signals
LDMAC0
BUS
Formatter
2-2 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
y bits-per-pixel
y display type, STN mono/color or TFT
y STN 4 or 8-bit interface mode
y NTSC/PAL, Interlace/Non-interlace mode
y Overlay/alpha blending mode
y Image up/down scale ratio
Image data stored in frame buffers are transferred to the LCDC’s input FIFO, on a
demand basis, using the AMBA AHB master interface.
The LCDC starts the DMA data transfer after it has been initialized and enabled. The
DMA automatically performs burst word(32-bit) transfers, filling the empty entries of
the input FIFO. The data in the FIFO are fetched one entry at a time, and each 32-bit
data is unpacked into appropriate pixel data formats(1, 2, 4, 8 or 16 bpp) according to
the pixel data format information.
The frame buffer is in an off-chip memory area used to supply enough encoded pixel
values to fill the entire screen one or more times. The pixel data buffer contains one
encoded pixel values for each of the pixels present on the screen. The number of pixel
data values depends on the size of the screen. Figure 2.2 shows the memory
organization within the frame buffer for each size pixel encoding.
LCDC generates interrupt every end of frame. DMA base address can be updated in
this ISR. It can be masked by interrupt controller.
2.2 STN-LCD
The LCDC generates VSYNC, HSYNC, PXCLK, ACBIAS, and PXDATA signals for
STN LCD driver.
Figure 2.2 shows 1bpp, 2bpp, 4bpp, 332bpp, 444bpp, and 16bpp of PXDATA memory
organization. BR of LI0C and LI1C register indicates whether pixel data in frame
memory is big-endian for 1bpp, 2bpp, or 4bpp mode. Figure 2.3 shows RGB
configuration for color STN LCD.
The timing diagram for STN mode is shown in Figure 2.4. VSYNC and HSYNC pulse
are controlled by the configurations of the LPC field of LHTIME and FLC field of
LVTIME1 and LVTIME2. Each field is related to the LCD size and display mode.
At the relations between VSYNC and HSYNC pulse, the VSYNC pulse must be
delayed 50 ns at the minimum in base HSYNC pulse.
Preliminary 2-3
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
Pixel data width is determined by PXDW of LCTRL register. In the case of STN LCD
mode, it must be 4 or 8-bit width.
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
1BPP p31 p30 p29 p28 p27 p26 p25 p24 p23 p22 p21 p20 p19 p18 p17 p16
2BPP p15 p14 p13 p12 p11 p10 p9 p8
4BPP p7 p6 p5 p4
8BPP p3 p2
16BPP p1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1BPP p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0
2BPP p7 p6 p5 p4 p3 p2 p1 p0
4BPP p3 p2 p1 p0
8BPP p1 p0
16BPP p0
a) BR=0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
1BPP p24 p25 p26 p27 p28 p29 p30 p31 p16 p17 p18 p19 p20 p21 p22 p23
2BPP p12 p13 p14 p15 p8 p9 p10 p11
4BPP p6 p7 p4 p5
8BPP p3 p2
16BPP p1
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1BPP p8 p9 p10 p11 p12 p13 p14 p15 p0 p1 p2 p3 p4 p5 p6 p7
2BPP p4 p5 p6 p7 p0 p1 p2 p3
4BPP p2 p3 p0 p1
8BPP p1 p0
16BPP p0
b) BR=1
Figure 2.2 Pixel data organization
STN 7 6 5 4 3 2 1 0
8BPP R[1:0] G[2:0] B[2:0]
STN 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16BPP X R[3:0] G[3:0] B[3:0]
Figure 2.3 Color STN Pixel Data
ACBIAS signal is used by the LCD driver to alternate the polarity of the row and
column voltage used to turn the pixel on and off. It is controlled by the ACDIV field of
LCLKDIV register:
2-4 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
VSYNC frequency is related to the field of FPW, LSWC, LEWC, LPC, and FLC as well
as HCLK and PXCLK.
Therefore, if FR is the required refresh rate, fPXCLK_REQ, which is the required PXCLK, is
the flowing.
The LCDC contains dithering pattern registers for STN LCD: a 48-bit modulo 7
dithering pattern register (LDP7L and LDP7H), a 32-bit modulo 5 dithering pattern
register (LDP5), a 16-bit modulo 4 dithering pattern register (LDP4), and a 16-bit
modulo 3(LDP3) dithering pattern register. These dithering pattern registers can
contain the programmable pre-dithered pattern values for each duty cycle ratio.
The LDP7H and LDP7L contain 5 pre-dithered patterns for 1/7, 3/7, 4/7, 5/7, and 6/7
duty cycle rate. Each field of LDP7H and LDP7L is 7-bit long. The LDP5 has 4 pre-
dithered pattern fields for 1/5, 2/5, 3/5, and 4/5 duty cycle rate. Each field of LDP5 is
5-bit long. The LDP4 has 3 pre-dithered pattern fields for 1/4, 1/2(=2/4), and 3/4 duty
cycle rate, and each field is 4-bit long. Likewise, the LDP3 has 2 fields for 1/3 and 2/3
duty cycle rate with 3-bit length.
Note that the pre-dithered data for 1 and 0 is not defined in the dithering pattern
register, because these values are implemented with VDD and VSS condition.
Preliminary 2-5
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
EXAMPLE )
For a monochrome STN LCD, 4-bit interface panel, 4 pixels are captured by the panel
in every panel clock cycle. Figure 2.3 gives the major registers to be programmed for
supporting 4-bit interface STN LCD. LCLK and Refresh rate are examples only. And
LSWC, LEWC, LPW, and FPW are STN LCD panel dependent.
2-6 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
2.3 TFT-LCD
The LCDC supports 16bpp true-color non-palletized color displays for color TFT LCD.
It generates the control signals for LCD driver such as, VSYNC, HSYNC, PXCLK,
PXDEN(ACBIAS) and PXDATA. Figure 2.6 shows 16bpp of PXDATA memory
organization in TFT mode. The timing diagram of TFT mode is shown in Figure 2.8.
TFT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RGB565 R[4:0] G[5:0] B[4:0]
TFT 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RGB555 I* R[4:0] G[4:0] B[4:0]
*) intensity bit
Figure 2.6 TFT LCD pixel data
The VSYNC and HSYNC frequency is controlled by the LPC and FLC field.
The frequency of VSYNC signal is the frame rate. So the frame rate can be calculated as
follows:
Therefore, if FR is the required refresh rate in TFT mode, fPXCLK_REQ, which is the
required PXCLK, is the flowing.
Example
PXDW* = 0x4, YUV* = 0, BPP* = 0x4, DP* = 0, NI* = 1, TV* = 0, TFT* = 1, STN* = 0
LSWC* = LEWC* = LPW* = 3 (TFT LCD dependent)
FSWC* = FEWC* = FPW* = 1 (TFT LCD dependent)
Width Height F**
LPC* FLC* DHSIZE* DVSIZE* CLKDIV* fPXCLK***
(pixel) (pixel) PXCLK_REQ
Preliminary 2-7
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
HSYNC
ACBIAS
HSYNC
PXCLK
PXDATA line 1
ACBIAS
The LCDC can generate the control signals for 8-bit or 16-bit NTSC/PAL encoder. The
supporting mode is CCIR601/656 interlace/non-interlace. The pixel color mapping of
NTSC/PAL mode is identical to that of 8-bit or 16-bit LCD interfacing.
For NTSC/PAL interface, TV field of LCTRL register must be set. Registers used in this
mode are similar to those in TFT mode except for LVTIME1 and LVTIME2 registers.;
LVTIME1 is for odd field and LVTIME2 is for Even field. And these registers value is
not based on HSYNC, but based on half of HSYNC. For example, if FPW of LVTIME1
is 3, pulse width of VSYNC on odd field is not 4 HSYNC cycles, but 2 HSYNC cycles.
And if FPW of LVTIME1 is 4, it is 2.5 HSYNC cycles.
It is two kind of method to make 27MHz pixel clock, one is to use PLL with DCO and
the other is to use XTin directly. By using the former method, user can save extra
crystal for NTSC/PAL interfacing and it can be more efficient in view of power
consumption.
The CCIR656 mode can be configured by 656 field of LCTRL register. This mode uses 8
bit output port of which data is composed image data, HSYNC and VSYNC
information. (Don’t us SYNC ports). The pixel clock must be 27 MHz. Figure 2.11 each
show timing diagram and format diagram of CCIR656 mode.
2-8 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FSWC
VSYNC ......
LPW LPC
......
HSYNC
......
PXCLK
......
ACBIAS
LSWC LEWC
......
HSYNC
FSWC
VSYNC ......
LPW LPC
......
HSYNC
......
PXCLK
......
ACBIAS
PD line 0 line 1
LSWC LEWC
Preliminary 2-9
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
8-bit data
D7
D6 D5 D4 D3 D2 D1 D0
(MSB)
1 1 1 1 1 1 1 1
preamble 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
status 1 F V H P3 P2 P1 P0
2-10 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
Preliminary 2-11
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
2-12 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ID IV IH IP CLEN R2Y DP NI TV TFT STN MSEL IEN2 IEN1 IEN0 LEN
Preliminary 2-13
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
2-14 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
NI[8] Non-interlace
0 Interlace mode
Odd field timing control : LVTME1, LVTME2
Even field timing control : LVTIME3, LVTIME4
1 Non-interlace mode (progressive mode)
Preliminary 2-15
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
BG2 [23:16] Background color 2 (Y/B)
BG1 [15:8] Background color 1. (U/G)
BG0 [7:0] Background color 0. (V/R)
2-16 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
Clock source
CS [31] 0 : The clock source of LCLK is CKC (Clock Controller)
1 : The clock source of LCLK is HCLK (AHB bus clock)
AC bias clock divisor (STN only)
ACDIV [23:16]
The number of line clock cycle to count between each toggle of AC_BIAS pin
LCLK clocks divider (using CS is set to 1)
LCLKDIV
LCLK = HCLK / (LCLKDIV+1)
[7:0]
(if LCLKDIV = 0, LCLK = HCLK)
Pixel clock divider.
PXCLKDIV Note that programming CLKDIV less than 3 is illegal for STN LCD.
[7:0] PXCLK = LCLK / (2*PXCLKDIV)
(if PXCLKDIV = 0, PXCLK = LCLK)
FIELD Description
LPW [23:16] Line pulse width
Line pulse count is the number of pixel clock cycles in each line minus 1 on the
screen.
LPC [10:0] TFT/NTSC(16bit)/PAL(16bit) : active horizontal pixel – 1
Color STN : (3 * Horizontal display size / pixel width)
Mono STN : (Horizontal display size / pixel width) - 1
Preliminary 2-17
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
Line start wait clock is the number of dummy pixel clock cycles minus 1 to
LSWC [24:16]
insert from the start of each horizontal line of pixels.
Line end wait clock is the number of dummy pixel clock cycles minus 1 to
LEWC [10:0]
insert before the end of each horizontal line of pixels
FIELD Description
Back porchVSYNC delay
Delay cycle is -10 to 10cycle delay by PXLCLK.
VDB[31:27]
When TV mode, VDB value is equal to VDF.
Ex) if VD=5, VSYNC delay is 5 cycle delay by HSYNC.
Front porch of VSYNC delay
VDF[26:23] Delay cycle is 0 to 10 cycle delay by PXLCLK.
Ex) if VD=5, VSYNC delay is 5 cycle delay by HSYNC.
TFT/TV : Frame pulse width is the pulse width of frame clock (VSYNC).
FPW [21:16]
STN : N/A
FLC [10:0] Frame line count is the number of lines in each frame on the screen.
y Refer to Figure 2.4.
2-18 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
TFT/TV : Frame start wait cycle is the number of lines to insert at the end of
each frame.
FSWC [24:16]
STN : FSWC is N/A. If FSWC[0] is set, VSYNC signal starts on negative falling
edge of HSYNC.
TFT/TV : Frame end wait cycle is the number of lines to insert at the beginning
FEWC [8:0] of each frame.
STN : extra dummy lines between the end and beginning of frame..
Preliminary 2-19
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
2-20 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
CLP2L[31:24] Clipping U/G below this value. (standard value is 0)
CLP2 [23:16] Clipping U/G upper this value. (standard value is 255)
CLP1L [15:8] Clipping Y/R below this value.. (standard value is 0)
CLP1 [7:0] Clipping Y/R upper this value. (standard value is 255)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CLP3L CL3Y
FIELD Description
CLP3L [15:8] Clipping V/B below this value.. (standard value is 0)
CLP3 [7:0] Clipping V/B upper this value. (standard value is 255)
Preliminary 2-21
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
VSIZE [27:16] Horizontal size : number of active pixel in a line
HSIZE [11:0] Vertical size : number of active lines
2-22 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ITY ICR 0 BY EF DD RU 0 0 FU
FIELD Description
Interrupt Type
ITY 0 : Pulse type
1 : hold-up type when respond signal (ICR) is high.
ICR Interrupt Clear (using ITY is level type)
Busy signal
BY When LCDC is operating, this bit is set to 1. If LEN is disable, BY will be 0 after
current frame has been displayed.
Even-field (read only)
EF [5] 0 : Odd field or frame
1 : Even field or frame
Disable Done (Read/Clear)
DD [4] If LEN is disabled, DD will be 1 after current frame has been displayed. As
MDD of LIM register is cleared, it can be LCD interrupt source.
Register update (Read/Clear)
RU [3] It indicates that all registers programmed are applied to current frame data. As
MRU of LIM register is cleared, it can be LCD interrupt source.
FIFO underrun (Read/Clear)
It indicates that FIFO underrun has been occurred. In this case, LCLK
FU [0]
frequency must be lower. As MFU of LIM register is cleared, it can be LCD
interrupt source.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MDD MRU 0 0 MFU
FIELD Description
MDD [4] Masking disable done interrupt.
MRU [3] Masking register update interrupt
MFU [0] Masking FIFO underrun interrupt.
Preliminary 2-23
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OP BR YUV BPP
2-24 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
IMG_Y [26:16] Y position to display.
IMG_X [10:0] X position to display.
FIELD Description
HEIGHT Image0 height
[27:16]
WIDTH [10:0] Image0 width
FIELD Description
I0_BASE0 Image0 base address
[31:2] If a image0 is YUV data, it is Y base address.
Preliminary 2-25
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
I0_CUR [31:0] Image0 current address.
FIELD Description
Image0 base address
I0_BASE1
If a image0 is YUV data, it is U base address.
[31:2]
Otherwise, it is not used.
FIELD Description
Image0 base address
I0_BASE2
If a image0 is YUV data, it is V base address.
[31:2]
Otherwise, it is not used.
2-26 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
Image0 offset.
I0_OFS1[26:16]
Address offset in U or V channel of FIFO (FIFO1,2)
Image0 offset.
I0_OFS0 [10:0]
Address offset in Y channel of FIFO (FIFO0).
Preliminary 2-27
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BR YUV BPP
FIELD Description
IMG_Y [26:16] Y position to display.
IMG_X [10:0] X position to display.
2-28 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
HEIGHT Image1 height
[27:16]
WIDTH [10:0] Image1 width
FIELD Description
I1_BASE0 Image 1 base address
[31:2] If a image 1 is YUV data, it is Y base address.
FIELD Description
I1_CUR [31:0] Image 1 current address.
Preliminary 2-29
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I1_OFS0<10:0>
FIELD Description
Image 1 offset.
I1_OFS0 [10:0]
Address offset in Y channel of FIFO (FIFO0).
2-30 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LUT BR YUV BPP
Preliminary 2-31
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
IMG_X<10:0>
FIELD Description
IMG_Y [26:16] Y position to display.
IMG_X [10:0] X position to display.
FIELD Description
HEIGHT Image 2 height
[27:16]
WIDTH [10:0] Image 2 width
FIELD Description
I2_BASE0 Image 2 base address
[31:2] If a image 2 is YUV data, it is Y base address.
2-32 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
I2_CUR [31:0] Image 2 current address.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
I2_OFS0<10:0>
FIELD Description
Image 2 offset.
I2_OFS0 [10:0]
Address offset in Y channel of FIFO (FIFO0).
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Y_SCALE X_SCALE
Preliminary 2-33
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DRE DLE
FIELD Description
DLCSA0 [31:2] Configuration start address for LCD0.
FIELD Description
DLCSA1 [31:2] Configuration start address for LCD1.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Y
FIELD Description
Y [7:0] Refer to Figure 2.12
2-34 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
FIELD Description
CR2 [31:24] Refer to Figure 2.12
CR1 [23:16] Refer to Figure 2.12
CB2 [15:8] Refer to Figure 2.12
CB1 [7:0] Refer to Figure 2.12
R = 1.164(Y-16) + 1.596(Cr-128)
= Y + Cr - 233 + 0.164*Y + 0.596*Cr
Preliminary 2-35
TCC82xx Specification
Multimedia Application Processor LCD INTERFACE
The LCDC supports the 24(width)-by-255(depth) bits color lookup table and the table
is connected from FIFO2 (3rd image channel). The range of lookup data address is
from 0x9000Dc00 to 0x9000Dfff (255 depth) and one data is 24bit data that is composed
by blue, green, red channel in sequence. The other 8 bit is garbage and located MSB 8bit.
For using the color lookup table, the LCDC set image 3 enable cause the table is
connected 3rd image channel and BPP mode set BPP332, YUV mode set clear. And
lookup table is initialized before the operating. The data of BPP332 (8 bits) is used the
address of color lookup table.
32 bit width
Not Used
2-36 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
3.1 Overview
The TCC82xx has LCD system interface (LCDSI) for LCD module which has 68/80-
system interface. So, an LCD module that has 68/80-system interface with 16-bit / 9-
bit/8-bit data width can be connected to the TCC82xx via LCDSI. And LCDSI can be
accessed by both LCDC and on-chip CPU. Therefore, the type of input source must be
specified before it is used. And setup time, hold time, and pulse width of nRD and
nWR signals are programmable.
AHB
TFT
mode Register AHB to 80
bank system bus
LVSYNC
nCS0
GPA[12]
LHSYNC AHB nCS1
LCD to LBIAS, GPC[3]
LCD LPXCLK 80 nRD
to 80 system GPA[13]
controller nWR
LACBIAS AHB system bus GPA[14]
bus mux RS
LPXD LCDHS, GPC[1]
LCDXD
LCDPD, GPC[19:4]
RGB565
LCD System Interface
or
RGB888
3.2 Operation
Because the TCC82xx supports various GPIO modes, ports related to LCDSI must be
configured before it is used. And LCDSI configuration is different as it is connected to
LCDC or on-chip CPU bus. Figure 3.1 shows its relationship simply. The flowing
describes how to configure LCDSI for connecting to LCDC and on-chip CPU bus.
LCDSI CTRL0.MD
S
On-chip CPU
HADDR[7:0] D0 HADDR[4]
bus nCS0
HADDR[5]
MUX nCS1
LCDC to HADDR[3]
HADDRlcd[7:0] D1 RS
AHB
HADDRlcd[7:6] = 0
HADDRlcd[5:4] = (LCDSI CTRL0.CS == 0) ? 1 : 2
HADDRlcd[3] = LCDSI CTRL0.RSP
HADDRlcd[2:0] = 0
Preliminary 3-1
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
GPIO configuration registers corresponding to LCDSI signals, which are nCS0, nCS1,
nWR, nRD, RS and LCDXD, must be configured to LCDSI mode. Table shows GPIO
configuration for LCDSI.
LCDSI allows on-chip CPU to read from and write to an external LCD module, which
has 68/80-system interface. To access the device which is connected to nCS0 or nCS1,
on-chip CPU must program LCDSI CTRL0.IM to 0. After that, if on-chip CPU accesses
LCDSI CS0RS0 register, then reading or writing operations are generated on the device
connected to nCS0. While these operations are executed, RS is low (Figure 3.3 (a)). If on-
chip CPU accesses LCDSI CS0RS1 register, RS is high (Figure 3.3 (b)). Similarly, to
access the device connected to nCS1, on-chip CPU must access LCDSI CS1RS0 or
LCDSI CS1RS1 register. Notice that RS signal is regardless of LCDSI CTRL0.RSP when
LCDSI CTRL0.IM = 0.
And timing and data width configuration about LCDSI output signals can be
programmed via LCDSI CTRL1-4 registers. Refer to page 2 -3-8 for more information
about LCDSI CTRL1-4 registers.
3-2 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
nCS0 or 1
RS
nWR
nRD
nCS0 or 1
RS
nWR
nRD
For converting LCDC control signals to 68/80-system interface signals, LCDC must be
configured to TFT mode. And LPXD must be RGB565 or RGB888 and driven at
negative edge of LPXCLK. LACBIAS and LVSYNC polarity is also configured by
LCDSI CTRL0.IA and LCD CTRL0.IVS and the values must be same with them of
LCDC polarity registers. Refer to LCDC register set for more information.
Preliminary 3-3
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
To enter this mode, LCDSI CTRL0.IM must be set to 1. If this register field is set, LCDSI
CTRL0.CS, CTRL0.RSP, CTRL0.FMT, CTRL0.IVS, and CTRL0.IA registers are
available. These register fields specify nCS, RS, and output pixel data format during
operation and polarity of LVSYNC and LACBIAS signal. For example, if an LCD
module is connected to nCS0 and requires RS signal to be low, LCDSI CTRL0.CS and
LCDSI CTRL0.RSP must be set to 0.
The following is the procedure that one frame data of LCDC send to LCD module
through LCDSI.
If LCDC is not disabled at 6, LCDC output data are sent to LCD module through
LCDSI continuously.
3-4 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
Preliminary 3-5
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
IM Input Mode
It converts on-chip CPU signals to 68/80-system interface
0
signals.
It converts LCDC output signals to 68/80-system interface
signals. Before this bit is set, LCDC must be configured with
1
TFT RGB565 or RGB888 mode. If TFT RGB565 mode is used,
FMT[0] bit must be set to 0.
OM Output Mode
0 LCDSI output signals are 80-system interface type.
LCDSI output signals are 68-system interface type.
1 nRD : R/W signal
nWR: Enable signal
1
These bits are only available when LCD SI CTRL0.IM is 1.
3-6 Preliminary
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
nCS
nWR
nCS
nWR
nCS
nWR
LCDXD D1[7:6]
D1[5:2],
D2[7:2], D4[7:6]
D1[7:3]
D2[7:2]
D4[7:3]
D5[7:2]
D7[7:3]
D7[7:2]
[15:0] D3[7:2]
D3[7:3]
#1
D6[7:3]
#2
D8[7:3]
#3
Preliminary 3-7
TCC82xx Specification
Multimedia Application Processor LCD SYSTEM INTERFACE
RSP RS Polarity
0 If IM is high, RS is low. Otherwise, it is not applicable.
1 If IM is high, RS is high. Otherwise, it is not applicable.
CS Chip select
If IM is high, CS0 is active during operations. Otherwise, it is
0
not applicable.
If IM is high, CS1 is active during operations. Otherwise, it is
1
not applicable.
IA Inverse ACBIAS
0 LACBIAS(Data Enable) signal is active high.
1 LACBIAS(Data Enable) signal is active low.
3-8 Preliminary
TCC82xx Specification
Multimedia Application Processor
PW Pulse Width
(N+1) cycles are issued between the falling edge of nWR(or
N
nRD) and the rising edge of nWR(or nRD).
Preliminary 3-9
TCC82xx Specification
Multimedia Application Processor
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
W 2BW WSTP WPW WHLD
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
BW Bus Width
0 Refer to Figure 3.5
1 Refer to Figure 3.5
PW Pulse Width
(N+1) cycles are issued between the falling edge of nWR(or
N
nRD) and the rising edge of nWR(or nRD).
2
Prefix W means writing operation.
3-10 Preliminary
SAD
TCC82xx Specification
Multimedia Application Processor SAD
4 SAD Calculator
4.1 Overview
The TCC82x has the SAD calculator block that calculates sum of absolute difference
(SAD) and deviation value from the reference frame image and the current frame
image. This block may be used for motion estimation during video encoding.
Current Frame
Buffer 1-D SAD
ENGINE
DMA
AHB
Controller
CONTROL
REGISTER
Block diagram of SAD calculator is shown in Figure 1-1. The SAD calculator caculates
SAD or DEV (deviation value) result between the current frame macroblock and the
reference frame macroblock pointed by software. The start addresses of the
current/reference frame macroblock can be set through the DMA current/reference
start address registers, respectively.
4-2 Preliminary
TCC82xx Specification
Multimedia Application Processor SAD
The SAD calculator has two SAD calculation modes. The one is SAD16 mode
and the other is SAD8 mode. In SAD16 mode, the SAD calculator results out
SAD16 (macorblock SAD) and SAD8 (blocks SAD) value between the
specified current and reference macroblock. In SAD8 mode, the SAD
calculator results out SAD8 value between the specified current and reference
block. Figure 1-3 shows macroblock and block configuration.
SAD16 = ∑i
| cur _ pel (i) − ref _ pel (i ) | , i = 0, ..., 255
SAD8B0 = ∑j
| cur _ pel ( j ) − ref _ pel ( j ) | , j = 0, ..., 63
SAD8B1 = ∑k
| cur _ pel (k ) − ref _ pel (k ) | , k = 0, ..., 63
Preliminary 4-3
TCC82xx Specification
Multimedia Application Processor SAD
SAD8B2 = ∑ l
| cur _ pel (l ) − ref _ pel (l ) | , l = 0, ..., 63
SAD8B3 = ∑ m
| cur _ pel (m) − ref _ pel (m) | , m = 0, ..., 63
SAD8 = ∑
i
| cur _ pel (i ) − ref _ pel (i ) | , i = 0, ..., 63
The SAD calculator has two DEV calculation modes. The one is DEV16 mode
and the other is DEV8 mode. In DEV16 mode, the SAD calculator results out
DEV16 (macorblock DEV) and DEV8 (blocks DEV) value between the
specified current and reference macroblock. In DEV8 mode, the SAD
calculator results out DEV8 value between the specified current and
reference block. The calculation of deviation value in SAD calculator consists
of two steps. In first, the mean value of the specified macroblock or block is
calculated and in second, the deviation value of the specified macroblock or
block is calculated using the mean value. The following equation shows the
definition of the mean value and deviation value. Figure 1-3 shows
macroblock and block configuration.
MEAN16 = ∑ i
pel (i ) / 256 , i = 0, ..., 255
DEV16 = ∑ i
| pel (i ) − MEAN16 | , i = 0, ..., 255
DEV8B0 = ∑ j
| pel ( j ) − MEAN16 | , j = 0, ..., 63
DEV8B1 = ∑ k
| pel (k ) − MEAN16 | , k = 0, ..., 63
DEV8B2 = ∑ l
| pel (l ) − MEAN16 | , l = 0, ..., 63
DEV8B3 = ∑ m
| pel (m) − MEAN16 | , m = 0, ..., 63
MEAN8 = ∑ i
pel (i ) / 64 i = 0, ..., 63
DEV8 = ∑ i
| pel (i ) − MEAN 8 | , i = 0, ..., 63
4-4 Preliminary
TCC82xx Specification
Multimedia Application Processor SAD
B0(i) B0(i)
Preliminary 4-5
TCC82xx Specification
Multimedia Application Processor SAD
4-6 Preliminary
TCC82xx Specification
Multimedia Application Processor SAD
4.5 Registers
REFADR
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
REFADR[31:16]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
REFADR[15:0]
CURADR
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
CURADR[31:16]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CURADR[15:0]
Preliminary 4-7
TCC82xx Specification
Multimedia Application Processor SAD
OFFSET
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
OFFSET[15:0]
STATUS
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved MAINFSM Reserved DMAFSM
CONTROL
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved BST Reserved IRQT IRQD
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved DF MF MODE Reserved IEN CEN EN
4-8 Preliminary
TCC82xx Specification
Multimedia Application Processor SAD
MODE[8] Mode
0 SAD16 mode
1 SAD8 mode
SADOUT
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved MEAN
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SAD16[15:0]
Preliminary 4-9
TCC82xx Specification
Multimedia Application Processor SAD
SAD8_B01OUT
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved SAD8_B1[13:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved SAD8_B0[13:0]
SAD8_B23OUT
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved SAD8_B3[13:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved SAD8_B2[13:0]
4-10 Preliminary
TCC82xx Specification
Multimedia Application Processor SAD
SADSTATUS
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
Reserved
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved DONE
Preliminary 4-11
2D DMA
TCC82xx Specification
Multimedia Application Processor 2D DMA
1 2D DMA
1.1 Overview
The Two Dimensional DMA(2D-DMA) has the functions such as rotating or flipping
image or bitwise ROP(Raster Operation) in addition to general DMA function which
supports two dimensional DMA transfer. The 2D-DMA has two independent
channels and each channel contains two AHB master ports. But, the total four AHB
master ports are shared into the two external ports in the 2D-DMA through the port
arbitration logic as showed in the following figure. One of two isolated master ports is
connected directly to the 1Kbytes internal memory, and the other port is to access all
global address space. Each channel includes the input data buffer sized up to 8 words.
With the 2D-DMA, image data allocated in a memory region can be rotated by 90, 180,
and 270 degrees, and can be flipped horizontally or vertically, and can be the raster
operation. The 2D-DMA reads the original image data and writes these data in
modified addressing order for rotation and flipping. This process can be improved by
the intermediate buffer allocated in the internal memory. The buffering architecture
uses memory as double buffer, therefore the wait time can be minimized. The 2D-
DMA can apply these functions only to specific local region which is appointed by
configuration register. This mode is useful when a part of image should be operated
and the other part should be passed. The 2D-DMA supports several pixel-based
arithmetic functions such as adding, subtracting, filling, and multiplying. Additionally,
the 2D-DMA supports the ROP and the color image format converting. When the
2D-DMA operates in these functions, the general DMA function is prohibited.
Preliminary 1-1
TCC82xx Specification
Multimedia Application Processor 2D DMA
1.2 Registers
Table 1-1 2D DMA Register Map (Base Address = 0x90005000)
Name Address Type Reset Description
SRCA_F 0x00 R/W 0x00000000 Front Source Address Register
SRCOFF_F 0x04 R/W 0x00000000 Front Source Offset Register
DSTA_F 0x08 R/W 0x00000000 Front Destination Address Register
DSTOFF_F 0x0C R/W 0x00000000 Front Destination Offset Register
NUMT_F 0x10 R/W 0x00000000 Front Transfer Count Number Register
SRCA_B 0x14 R/W 0x00000000 Back Source Address Register
SRCOFF_B 0x18 R/W 0x00000000 Back Source Offset Register
DSTA_B 0x1C R/W 0x00000000 Back Destination Address Register
DSTOFF_B 0x20 R/W 0x00000000 Back Destination Offset Register
NUMT_B 0x24 R/W 0x00000000 Back Transfer Count Number Register
SRC1A_R 0x28 R/W 0x00000000 ROP Source 1 Address Register
SRC1OFF_R 0x2C R/W 0x00000000 ROP Source 1 Offset Register
SRC2A_R 0x30 R/W 0x00000000 ROP Source 2 (Y) Address Register
SRC2OFF_R 0x34 R/W 0x00000000 ROP Source 2 Offset Register
SRC2CBA_R 0x38 R/W 0x00000000 ROP Source 2 Cb Address Register
SRC2CRA_R 0x3C R/W 0x00000000 ROP Source 2 Cr Address Register
DSTA_R 0x40 R/W 0x00000000 ROP Destination (Y) Address Register
DSTOFF_R 0x44 R/W 0x00000000 ROP Destination Offset Register
DSTCBA_R 0x48 R/W 0x00000000 ROP Destination Cb Address Register
DSTCRA_R 0x4C R/W 0x00000000 ROP Destination Cr Address Register
IMGSIZE 0x50 R/W 0x00000000 Image Size Register
MEMADDR 0x54 R/W 0x00000000 Buffer Memory Address Register
LOCAL 0x58 R/W 0x00000000 Local Region Configuration Register
FPVALUE 0x5C R/W 0x00000000 Fill / Pattern Value Register
IMGFM_R 0x60 R/W 0x00000000 ROP Image Format Register
CHROMA_R 0x64 R/W 0x00000000 ROP Chroma Value Register
CONTROL 0x70 R/W 0x00000000 Control Register
INT 0x74 R/W 0x00000000 Interrupt Register
INTEN 0x78 R/W 0x00000000 Interrupt Enable Register
Preliminary 1-2
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source address of the first DMA channel in the case of
general DMA mode( DMAGeneralUse bit is set in the CONTROL register ), otherwise
the start address of the source image data. This register is not used in the case of the
raster operation.
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This register is not used in the case of the raster operation.
In 2-dimensional transferring, this means the source address difference between start
addresses of the current hop transfer and next hop transfer. In 1-dimensional
transferring, the start address of the current hop transfer and the end address of the
previous hop transfer are in each neighborhood. This register is not used in the case of
the raster operation.
Preliminary 1-3
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source address of the first DMA channel in the case of
general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This
register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register. This
register is not used in the case of the raster operation.
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This register is not used in the case of the raster operation.
Preliminary 1-4
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This is meaningful only in the general DMA mode. This register is not used in the case
of the raster operation.
The number of burst transfers means the number lines if you want to transfer the 2-
dimensional data. If you want to transfer the 1-dimensional data, it means the number
of burst transfer, which is described below.
The number of words to transfer with linear address means that the horizontal number
of words. In case of 2 dimensional transferring, this is the number of words in a
horizontal line.
Preliminary 1-5
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source address of the second DMA channel in the case of
general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This
register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register. This
register is not used in the case of the raster operation.
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This register is not used in the case of the raster operation.
In 2-dimensional transferring, this means the source address difference between start
addresses of the current hop transfer and next hop transfer. In 1-dimensional
transferring, the start address of the current hop transfer and the end address of the
previous hop transfer are in each neighborhood.
Preliminary 1-6
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source address of the first DMA channel in the case of
general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This
register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register. This
register is not used in the case of the raster operation.
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This register is not used in the case of the raster operation.
Preliminary 1-7
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register is not used when the DMAGeneralUse bit is ‘0’ in the CONTROL register.
This is meaningful only in the general DMA mode. This register is not used in the case
of the raster operation.
The number of burst transfers means the number lines if you want to transfer the 2-
dimensional data. If you want to transfer the 1-dimensional data, it means the number
of burst transfer, which is described below.
The number of words to transfer with linear address means that the horizontal number
of words. In case of 2 dimensional transferring, this is the number of words in a
horizontal line.
Preliminary 1-8
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source 1 address of the third DMA channel for the raster
operation. This register is not used in the case of general DMA
mode( DMAGeneralUse bit is set in the CONTROL register ). This is meaningful only
in the raster operation.
This register is not used when the DMAGeneralUse bit is set in the CONTROL register.
In 2-dimensional transferring, this means the ROP source 1 address difference between
start addresses of the current hop transfer and next hop transfer. . In 1-dimensional
transferring, this register is not used.
Preliminary 1-9
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source 2 address of the third DMA channel for the raster
operation. This is source 2 Y start address when SRC2IMGFM_R field of IMGFM_R
register is YCbCr separated format. This register is not used in the case of general DMA
mode( DMAGeneralUse bit is set in the CONTROL register ). This is meaningful only
in the raster operation.
This register is not used when the DMAGeneralUse bit is set in the CONTROL register.
This is meaningful only in the raster operation.
Preliminary 1-10
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the source 2 Cb address of the third DMA channel for the
raster operation. This is source 2 Cb start address when SRC2IMGFM_R field of
IMGFM_R register is only YCbCr separated format. This register is not used in the
case of general DMA mode( DMAGeneralUse bit is set in the CONTROL register ).
This is meaningful only in the raster operation.
This register value means the source 2 Cr address of the third DMA channel for the
raster operation. This is source 2 Cr start address when SRC2IMGFM_R field of
IMGFM_R register is only YCbCr separated format. This register is not used in the
case of general DMA mode( DMAGeneralUse bit is set in the CONTROL register ).
This is meaningful only in the raster operation.
Preliminary 1-11
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the destination address of the third DMA channel for the
raster operation. This is destination Y start address when DSTIMGFM_R field of
IMGFM_R register is YCbCr separated format. This register is not used in the case of
general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This is
meaningful only in the raster operation.
This register is not used when the DMAGeneralUse bit is set in the CONTROL register.
This is meaningful only in the raster operation.
Preliminary 1-12
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register value means the destination Cb address of the third DMA channel for the
raster operation. This is destination Cb start address when DSTIMGFM_R field of
IMGFM_R register is only YCbCr separated format. This register is not used in the case
of general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This is
meaningful only in the raster operation.
This register value means the destination Cr address of the third DMA channel for the
raster operation. This is destination Cr start address when DSTIMGFM_R field of
IMGFM_R register is only YCbCr separated format. This register is not used in the case
of general DMA mode( DMAGeneralUse bit is set in the CONTROL register ). This is
meaningful only in the raster operation.
Preliminary 1-13
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register specifies the size of the whole input image or one part of image to be
operated. The values are based on pixel unit( one byte size ). In the raster operation,
The values are based on pixel unit of the each image (one byte, halfword and word
size)
This register indicates the start address offset of the internal buffer memory. The
internal buffer can be extended to 1Kbytes, and the MEMSIZE field in the CONTROL
register determines the size. The transfer size is 16x16 bytes (MEMSIZE field is ‘0’) and
the total buffer size needed becomes 16x16x4 bytes because of the double buffering
architecture. The memory used for buffer is assigned to internal memory. This register
is not used in the case of the raster operation.
Preliminary 1-14
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register indicates the position information of the local region to be operated. These
values are not pixel-based, are based on the unit determined by the MEMSIZE field in
the CONTROL register. In other words, if MEMSIZE field is ‘0’, the unit size is 16.
Accordingly, the resolution of the local region operation is restricted by the minimum
transfer unit size in the buffering. This register is not used in the case of the raster
operation.
Preliminary 1-15
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register is used as two kinds of services. One is the filling constant in the general
DMA operation, which fills the destination region as the constant data. The other is the
operand in the raster operation and the pixel scalar arithmetic function, which includes
filling, adding, subtracting, and multiplying. In general DMA mode, this register uses
the whole 32-bit value, but only 8-bit is used in the pixel scalar arithmetic function. In
the raster operation,. This register uses 32-bit pattern value on the color of RGB888
image format.
Preliminary 1-16
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register indicates the image format information of the source and destination
images. This is meaningful only in the raster operation.
Preliminary 1-17
TCC82xx Specification
Multimedia Application Processor 2D DMA
The below tables are the details of the source1, source2 and destination image format.
Image Format 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
Preliminary 1-18
TCC82xx Specification
Multimedia Application Processor 2D DMA
This register indicates the chroma-key value of the source 1 images and only uses in the
case of the raster operation. The values are based on the color of RGB888 image format.
As see below table, the chroma-keying is only applied to the operations using both
source 1 and source 2.
Table 1-4 Use of Chroma-Key
Equation
ROP Functions Use of Chroma-Key
Src2 = Dst Src2 != Dst
Blackness 0 0 Impossible to use
Destination Invert ~Dst ~Src2 Impossible to use
Merge Copy Dst & Src Src2 & Src1 Possible to use
Merge Paint ~Src | Dst ~Src1 | Src2 Imossible to use
Not Source Copy ~Src ~Src1 Impossible to use
Not Source Erase ~(Src | Dst) ~(Src1| Src2) Impossible to use
Pat Copy P P Impossible to use
Pat Invert P ^ Dst P ^ Src2 Impossible to use
Pat Paint P | ~(Src| Dst) P | ~(Src1| Src2) Impossible to use
Source AND Src & Dst Src1 & Src2 Possible to use
Source Copy Src Src1 Impossible to use
Source Erase Src & ~Dst Src1 & ~Src2 Impossible to use
Source Invert Src ^ Dst Src1 ^ Src2 Possible to use
Source Paint Src | Dst Src1 | Src2 Possible to use
Whiteness 1 1 Impossible to use
Preliminary 1-19
TCC82xx Specification
Multimedia Application Processor 2D DMA
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCALARFUNC GEOFUNC 0 MEMSIZE DMAG LEN IEN MEN
The fields of the CONTROL register are categorized as two parts. One part as
CONTROL[31:20] is for two DMA channel in the general DMA functions, the other
part as CONTROL[19:0] is for geometric operation and pixel arithmetic and raster
operation in the 2D-DMA functions. If the DMAGeneralUse(DMAG) field is set to ‘1’,
the 2D-DMA operates only as a general DMA.
Preliminary 1-20
TCC82xx Specification
Multimedia Application Processor 2D DMA
Preliminary 1-21
TCC82xx Specification
Multimedia Application Processor 2D DMA
Preliminary 1-22
TCC82xx Specification
Multimedia Application Processor 2D DMA
Preliminary 1-23
TCC82xx Specification
Multimedia Application Processor 2D DMA
Preliminary 1-24
TCC82xx Specification
Multimedia Application Processor 2D DMA
Preliminary 1-25
TCC82xx Specification
Multimedia Application Processor 2D DMA
The process of the 2D-DMA in the general DMA mode is similar to that of the VDMA.
Basically, the 2D-DMA supports two dimensional DMA transferring, which means
that arbitrary rectangular memory region is moved to another memory region through
one DMA programming. As the following figure, the user can configure vertical
count( NHOPS field in the NUMT register ), horizontal count( NTRNS field in the
NUMT register ), starting address, and horizontal line offset( SRCOFF or DSTOFF
register ). This function is suitable for image data transferring. Of course, it is possible to
transfer from/to linear address region by configuring the offset register.
destination start
address
Preliminary 1-26
TCC82xx Specification
Multimedia Application Processor 2D DMA
The 2D-DMA has special features such as rotating, mirroring, and pixel arithmetic
operations. These features are based on memory-to-memory DMA operation. Namely,
a specific memory region is moved to another with modified address generation,
which is designed for rotating and mirroring. In order to improve speed and memory
burst characteristic, the whole input image is divided into uniform memory blocks,
which can be 16x16. The internal buffer is utilized when the memory blocks are
processed into rotated or mirrored blocks. The internal memory is mapped as the
internal buffer, therefore the user should not use internal memory for another purpose
when those special features of the 2D-DMA are enabled.
The following figure depicts the application examples of rotating and flipping. The
GEOFUNC field in the CONTROL register determines one of the total six modes.
These output images are obtained when the LOCAL bit is disabled in the CONTROL
register.
The procedure of the geometric operation such as rotation or flipping is similar to the
general DMA register programming. In the geometric operation, both of two DMA
channels should be enabled. The first channel(fontend) DMA transfers input image
Preliminary 1-27
TCC82xx Specification
Multimedia Application Processor 2D DMA
from frame memory to the internal buffer, and the second(backend) DMA is used to
transfer modified image block data from internal buffer to destination frame memory.
Because the connection and interface from/to the internal buffer are fixed, the
information of the destination in the frontend DMA and the information of the source
in the backend DMA are unnecessary. If the user wants to process only a part of input
image, the user can program the address register and the offset register as like a general
DMA programming.
After the MEN bit is enabled, the 2D-DMA hardware start to operate as following
figure. That figure depicts in the case that the MEMSIZE is ‘0’( that is, 16x16 ).
Preliminary 1-28
TCC82xx Specification
Multimedia Application Processor 2D DMA
As the above figure, the MEMSIZE means the minimum memory size to be transferred
once by DMA, and the minimum size to be operated once by rotator hardware. That
memory block(MB) becomes basic unit in the address generation of the frontend DMA
and the backend DMA. Generally, the frontend DMA generates the address
sequentially, but the backend DMA generated the destination address in according to
the selected geometric function. The above figure describes the destination address of
the first MB in the case of 90 degrees rotation.
The MEMSIZE value is an important factor in the performance. If this value is larger,
the data amount to be transferred one time is larger, so more bus bandwidth can be
established. But more buffer size is required. The following figure shows the internal
buffer memory interface. The internal buffer for the 2D-DMA is based on general
double buffer. Total buffer memory is classified into two memory region, and one of
them is to store the input image data temporally, the other is to store the output image
data temporally. Each region is divided into two parts: odd and even. While input
image is being moved to even part in the input buffer by the frontend DMA, the
hardware rotator can utilize odd part filled up before. In the same method, while the
hardware rotator is transferring to odd part in the output buffer, the backend DMA can
move the output data in the even part without waiting.
Preliminary 1-29
TCC82xx Specification
Multimedia Application Processor 2D DMA
One
Block
Input DeMuxing
( 16x16 )
Input Image
One
Block
( 16x16 )
Block
Rotator
One
Block
Output Muxing
One
Block
( 16x16 )
The 2D-DMA also supports the local region operation in the geometric function. This is
designed for the case when only a region in the input image should be operated, not
the whole image. In this mode, the other region is just copied into the destination
except the region defined by the LOCAL register. The following figure shows an
example of local region processing, in which the horizontal and vertical values in the
LOCAL register are based on the MEMSIZE value, not pixel unit.
Preliminary 1-30
TCC82xx Specification
Multimedia Application Processor 2D DMA
The jobs for local region processing are just to program the LOCAL register and to set
the LEN bit in the CONTROL register. The next figure shows an example of local
region processing.
Preliminary 1-31
TCC82xx Specification
Multimedia Application Processor 2D DMA
The 2D-DMA supports simple pixel arithmetic functions. Those functions can be
selected by the setting the SCALARFUNC field in the control register. Irrelative to the
type of geometric functions, the pixel arithmetic functions can process independently.
In other word, simultaneously with 90 degrees rotation the pixel inversion function can
be operated. The following describes the modes of the pixel arithmetic operations.
FPVALUE
FILL Y=B -
register
Input image pixel
INV Y = 255 – A -
data
Input image pixel FPVALUE
ADD Y=A+B
data register
Input image pixel FPVALUE
SUB Y=A-B
data register
Y=A*B
B is a fixed-point value.
Mantissa = B[7:6] Input image pixel FPVALUE
MUL
Fraction = B[5:0] data register
Y output is only the mantissa
part
The outputs of all above arithmetic are saturated to 8-bit pixel value between 0 and 255.
Preliminary 1-32
TCC82xx Specification
Multimedia Application Processor 2D DMA
The 2D-DMA supports bitwise ROP (raster operation) function for BitBLT function.
The BitBLT function performs a bit-block transfer of the color data corresponding to a
rectangle of pixels from the specified source device context into a destination device
context. The ROP function can be selected by the setting the ROPFUNC field in the
control register. The following describes the modes of the raster operation.
Blackness 0 Y=0 - - - X
Source 2 image
Destination Invert ~Dst Y = ~B - - X
pixel data
Source 1 image Source 2 image FPVALUE
Merge Copy Dst & Src Y=B&A O
pixel data pixel data register
Source 1 image Source 2 image FPVALUE
Merge Paint ~Src | Dst Y = ~A | B X
pixel data pixel data register
Source 1 image FPVALUE
Not Source Copy ~Src Y = ~A - X
pixel data register
Source 1 image Source 2 image
Not Source Erase ~(Src | Dst) Y = ~(A | B) - X
pixel data pixel data
FPVALUE
Pat Copy P Y=C - - X
register
Source 2 image FPVALUE
Pat Invert P ^ Dst Y=C^B - X
pixel data register
Y = C | ~(A | Source 1 image Source 2 image FPVALUE
Pat Paint P | ~(Src| Dst) X
B) pixel data pixel data register
Source 1 image Source 2 image
Source AND Src & Dst Y=A&B - O
pixel data pixel data
Source 1 image
Source Copy Src Y=A - - X
pixel data
Source 1 image Source 2 image
Source Erase Src & ~Dst Y = A & ~B - X
pixel data pixel data
Source 1 image Source 2 image
Source Invert Src ^ Dst Y=A^B - O
pixel data pixel data
Source 1 image Source 2 image
Source Paint Src | Dst Y=A|B - O
pixel data pixel data
Whiteness 1 Y=1 - - - X
Preliminary 1-33
TCC82xx Specification
Multimedia Application Processor 2D DMA
The next figure shows processing flow and parameters of the raster operation function.
SRC2A_R : the input image 2 start address (Y start address in the case of YCbCr separated format)
SRC2OFF_R : the input image 2 horizontal offset
SRC2CBA_R : the input image 2 Cb start address for YCbCr separated format
SRC2CRA_R : the input image 2 Cr start address for YCbCr separated format
DSTA_R : the output image start address (Y start address in the case of YCbCr separated format)
DSTOFF_R : the output image horizontal offset
DSTCBA_R : the output image Cb start address for YCbCr separated format
DSTCRA_R : the output image Cr start address for YCbCr separated format
Preliminary 1-34
JPEG & DCT/IDCT
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
5.1 Overview
The JPEG block of TCC82xx is a high performance solution for image and video
compression/decompression applications. It can compress 24Mbyte/sec data stream
in real-time and compliance with the baseline ISO/IEC 10918-1 JPEG standard.
Additionally, the JPEG block can be used as DCT/IDCT calculator for video encoding
and decoding.
The JPEG block compress any image size up to 4096x4096 and the image samples
according to the user-defined quantization and Huffman tables, and it produces an
ISO/IEC 10918-1 compatible data stream. Each 8x8 image block is frequency
transformed by a forward DCT into the domain of 2-dimensional DCT(2D-DCT) basis
images. Image samples are frequency transformed from the DCT unit using 15-bit
internal accuracy. The 11-bit output DCT coefficients are then scanned int the Zig-Zag
order and quantized according to programmed Quantization tables.
The quantization prepares the blocks for efficient coding. Each DCT coefficient block
is divided by an 8x8 quantization matrix. The quantized DCT coefficients are then fed
to the differential coding and run-length coding unit that produces the Run-Amplitude
pairs for the Huffman coder. The Huffman encoder accepts symbols from RLE unit,
which are further compressed by Huffman encoder, which encodes them according to
one of the two possible programmed Huffman tables. Finally, Huffman compressed
data stream is written to the output FIFO. The AHB bus master stores data in output
FIFO to the predefined address pointer. The software header generator makes the
JPEG file header and merges with the body, generated by the JPEG block.
The JPEG block is capable of decoding Baseline ISO/IEC 10918-1 JPEG streams. It
outputs decoded image samples in MCU by MCU, raster scan order. The software
header parser parses the JPEG file header and configs Huffman and quantization table.
Then set the file body pointer and run the JPEG decoder. The AHB bus master reads
the body and stores in input FIFO. These data fed into the VLD block and decoded.
The Inverse Quantization block multiplies each coefficient according to the
quantization tables and produces the 11 bit DCT coefficients. These are then scanned in
the inverse Zig-Zag order and stored in the IDCT buffer. The IDCT is then applied on
the coefficients, to finally produce the image samples. When that image is too big to
stored in memory, that can be decimated by 1/4 or 1/16.
Preliminary 5-1
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
Preliminary 5-2
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
5.2 Registers
Table 5-1 JPEG & DCT/IDCT Registers (Base Address = 0x90006000)
Name Addr Type Mode Reset Description
JP_RST 0x000 W ALL 0x00000000 JPEG block soft reset register
JP_MOD 0x004 R/W ALL 0x00000000 JPEG codec mode register
JP_INT_MASK 0x008 R/W ALL 0x0000001f Interrupt mask register
JP_INT_LEVEL 0x00c R/W SLV 0x000000ff FIFO interrupt level register
JP_TRG_MOD 0x010 R/W ALL 0x00000000 Polling or Interrupt mode selection register
R_YBUF_ADDR 0x020 R/W JP 0x00000000 Raw data buffer Y address register
R_UBUF_ADDR 0x024 R/W JP 0x00000000 Raw data buffer U address register
R_VBUF_ADDR 0x028 R/W JP 0x00000000 Raw data V address register
R_BUF_INFO 0x02c R/W JP 0x00000000 Raw data buffer information register
JP_SIZE 0x030 R/W JP 0x00000000 Image size information register
JP_CHROMA 0x034 R/W JP 0x00000000 Image format information register
JP_CBUF_ADDR 0x38 R/W JP 0x00000000 Coded data buffer address register
JP_CBUF_SIZE 0x03c R/W JP 0x00000fff Coded data buffer size register
JPD_TBL_ID 0x050 R/W JPD 0x00000000 Decoder table index register
JPD_RST_INTV 0x054 R/W JPD 0x00000000 Decoder reset interval register
JPD_OUT_SCL 0x058 R/W JPD 0x00000000 Decoder output scaling register
JP_SBUF_RP_A 0x060 R/W JPC 0x00000000 Source read pointer address register
JP_DBUF_WP_A 0x064 R/W JPD 0x00000000 Desination write pointer address register
JP_START 0x070 W ALL 0x00000000 Codec start command register
JP_SBUF_WCNT 0x080 R/W MST 0x00000000 Source buffer write count register
JP_SBUF_RCNT 0x084 R MST 0x00000000 Source buffer read count register
JP_DBUF_WCNT 0x088 R MST 0x00000000 Destination buffer write count register
JP_DBUF_RCNT 0x08c R/W MST 0x00000000 Destination buffer read count register
JP_IFIFO_ST 0x090 R SLV 0x00000000 Input FIFO status register
JP_OFIFO_ST 0x094 R SLV 0x00000000 Output FIFO status register
JP_INT_FLAG 0x0a0 R ALL 0x00000000 Interrupt flag register
JP_INT_ACK 0x0a4 R ALL 0x00000000 Interrupt ack register
JP_IFIFO_WD 0x0c0 W SLV 0x00000000 Input FIFO write data register
JP_OFIFO_RD 0x0e0 R SLV 0x00000000 Output FIFO read data register
Preliminary 5-3
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
Preliminary 5-4
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
RST[0] Description
0 Ineffective
1 Block reset includes all tables.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IPM
The IPM bit has meaning when JPEG encoder or decoder mode. In DCT/IDCT mode,
the IPM has no meaning. The DCT/IDCT calculator always operates in slave mode
Preliminary 5-5
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IMSK
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- OFIFO
In the JPEG encode/decoder or DCT/IDCT mode, The IFIFO value has meaning.
When input FIFO fill counter is lower then specified IFIFO value, then jp_ififo_intr is
generated. The unit of IFIFO value is word(32bits) and has between 0 to 127 value. If
the interrupt mask bit3 is ‘1’, jp_ififo_intr is masked.
In the JPEG encode/decoder or DCT/IDCT mode, The OFIFO value has meaning.
When output FIFO fill counter is lower then specified OFIFO value, then jp_ofifo_intr
is generated. The unit of OFIFO value is word(32bits) and has between 0 to 127 value. If
the interrupt mask bit2 is ‘1’, jp_ofifo_intr is masked.
Preliminary 5-6
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- TMD
TMD[0] Description
0 Polling mode. No interrupt generated..
1 Interrupt mode.
Preliminary 5-7
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R_BUF_A[15:2] 0 0
In the encoding mode, these register values indicate raw data buffer start pointer.
In the decoding mode, these register values indicate decoded data buffer start pointer.
R_YBUF_A Description(0x90006020)
[31:2]
n The raw buffer Y start address.
R_UBUF_A Description(0x90006024)
[31:2]
n The raw buffer U start address.
R_VBUF_A Description(0x90006028)
[31:2]
n The raw buffer V start address.
Preliminary 5-8
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IFRM_VSIZE
IFRM_HSIZE Description
[11:0]
n Input image frame horizontal size. (pixel)
IBUF_VSIZE Description
[11:0]
n Input raw buffer vertical size. (line)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IMG_VSIZE
IMG_HSIZE Description
[11:0]
Image horizontal size
In encoding mode : unit == pixel
n In decoding mode
- YUV420, YUV422 : unit == 16 pixel
- Yonly, YUV444 : unit == 8 pixel
IMG_VSIZE Description
[11:0]
Image vertical size.
In encoding mode : unit == pixel
In decoding mode
n
- YUV420, YUV422 : unit == 16 pixel
- Yonly, YUV444 : unit == 8 pixel
Preliminary 5-9
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CHROMA
Preliminary 5-10
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CBUF_A[15:2] 0 0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- CBUF_SIZE
CBUF_SIZE[11:0] Description
n The coded data buffer size. (uint == 1024bytes)
Preliminary 5-11
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- Y_HT U_HT V_HT
The JPEG decoder has three quantization tables. These register values indicate table
number, each of color component(Y,U,V) use which table. “00” means table 0. “01”
means table 1. “10” means table 2.
The JPEG decoder has 2 DC Huffman table and 2 AC Huffman table. These register
values indicate table number, each of color component(Y,U,V) use which table. Each of
bit1 indicates DC table and bit0 indicates AC table.
Preliminary 5-12
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
INTV
If the JPEG header has Restart Interval, this register value is set by the Restart Interval
of the JPEG header. Any other case, set zero.
Preliminary 5-13
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- SCL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RP[15:0]
RP [31:0] Description
n Source buffer read pointer (must be “0”)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WP[15:0]
WP [31:0] Description
n Destination buffer write pointer (must be “0”)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ST
ST [0] Description
n Codec start command
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- WC
Preliminary 5-14
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
SBUF_WC Decription
[11:0]
n Source buffer write count
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- RC
SBUF_RC Decription
[11:0]
n Source buffer read count
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WC[15:0]
DBUF_WC[17:0] Decription
n Destination buffer write count
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- RC
Preliminary 5-15
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
Preliminary 5-16
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- STATUS
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- FILL
Preliminary 5-17
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IFLAG
IFLAG[4:0] Description
[4] Coded buffer status
[3] Input FIFO status
[2] Output FIFO status
[1] Decoding error.
[0] Job finished.
Preliminary 5-18
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-
Preliminary 5-19
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
WDATA[31:16]
In slave mode (the JPEG decoding/encoding or DCT/IDCT mode), host feds data into
this register. (maximum burst size == 8 )
Preliminary 5-20
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RDATA[15:0]
In slave mode (the JPEG decoding/encoding or DCT/IDCT mode), host gets result
data from this register. (maximum burst size == 8 )
Preliminary 5-21
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- DATA
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- DATA
Preliminary 5-22
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- DATA
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- DATA
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- DATA
Preliminary 5-23
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CODE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CODE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CODE
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
CODE
Preliminary 5-24
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ADDR
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ADDR
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ADDR
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- ADDR
DE_HT_DC0_A values are DC Huffman table 0 addresses of the JPEG decoder. (12
entires)
DE_HT_AC0_A values are AC Huffman table 0 addresses of the JPEG decoder. (162
entires)
DE_HT_DC1_A values are DC Huffman table 1 addresses of the JPEG decoder. (12
entires)
DE_HT_AC1_A values are AC Huffman table 1 addresses of the JPEG decoder. (162
entires)
Preliminary 5-25
TCC82xx Specification
Multimedia Application Processor JPEG & DCT/IDCT
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- VAL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- VAL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- VAL
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- VAL
DE_HT_DC0_A values are DC Huffman table 0 values of the JPEG decoder. (16
entires)
DE_HT_AC0_A values are AC Huffman table 0 values of the JPEG decoer. (162
entries)
DE_HT_DC1_A values are DC Huffman table 1 values of the JPEG decoder. (16
entires)
DE_HT_AC1_A values are AC Huffman table 1 values of the JPEG decoer. (162
entries)
Preliminary 5-26
SCALER
TCC82xx Specification
Multimedia Application Processor SCALER
6 SCALER
6.1 Overview
Preliminary 6-1
TCC82xx Specification
Multimedia Application Processor SCALER
Registers
Table 6-1 Scaler Registers (Base Address = 0x9000C000)
Name Addr Type Reset Description
SRC_Y_BASE 0x000 R/W 0x00000000 Scaler source image Y base address register
SRC_U_BASE 0x004 R/W 0x00000000 Scaler source image U base address register
SRC_V_BASE 0x008 R/W 0x00000000 Scaler source image V base address register
SRC_SIZE 0x00c R/W 0x00000000 Source image size register
SRC_OFFSET 0x010 R/W 0x00000000 Source image line offset register
SRC_CONFIG 0x014 R/W 0x00000000 Source image configuration register
DST_Y_BASE 0x020 R/W 0x00000000 Scaler destination image Y base address register
DST_U_BASE 0x024 R/W 0x00000000 Scaler destination image U base address register
DST_V_BASE 0x028 R/W 0x00000000 Scaler destination image V base address register
DST_SIZE 0x02c R/W 0x00000000 Destination image size register
DST_OFFSET 0x030 R/W 0x00000000 Destination image line offset register
DST_CONFIG 0x034 R/W 0x00000000 Destination image configuration register
SCALE_RATIO 0x040 R/W 0x00000000 Scale ratio register
SCALE_CTRL 0x044 R/W 0x00000000 Scaler control register
STATUS 0x048 R 0x00000000 Scaler status register
Preliminary 6-2
TCC82xx Specification
Multimedia Application Processor SCALER
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler source image Y address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler source image U address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler source image V address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- HSIZE[11:0]
VSIZE[11:0] Description
n Input image vertical size by pixel
HSIZE[11:0] Description
n Input image horizontal size by pixel
Preliminary 6-3
TCC82xx Specification
Multimedia Application Processor SCALER
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- Y_OFF[11:0]
C_OFF[11:0] Description
n Input image line offset of chrominance
Y_OFF[11:0] Description
n Input image line offset of luminance
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- WAIT - RDY - - - TYPE
WAIT[2:0] Description
n
RDY Description
Preliminary 6-4
TCC82xx Specification
Multimedia Application Processor SCALER
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler destination image Y address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler destination image U address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
ADDR[15:2] 0 0
ADDR[31:2] Description
n Scaler destination image V address base
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- HSIZE[11:0]
VSIZE[11:0] Description
n Output image vertical size by pixel
HSIZE[11:0] Description
n Output image horizontal size by pixel
Preliminary 6-5
TCC82xx Specification
Multimedia Application Processor SCALER
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- Y_OFF[11:0]
C_OFF[11:0] Description
n Output image line offset of chrominance
Y_OFF[11:0] Description
n Output image line offset of luminance
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- WAIT - RDY - PATH - TYPE
WAIT[2:0] Description
n
RDY Description
PATH Description
0 : to memory (Master mode, Scaler master writes result to memory)
1 : to LCD (Slave mode, LCD master reads scaling results)
Preliminary 6-6
TCC82xx Specification
Multimedia Application Processor SCALER
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- HRATIO[13:0]
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- BUSY RDY EN
BUSY Description
Scaler busy interrupt enable
RDY Description
Scaler ready interrupt enable
EN Description
Scaler enable
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
- IBUSY IRDY - - - -
IBUSY Description
Busy interrupt flag
IRDY Description
Ready interrupt flag
Preliminary 6-7
TCC82xx Specification
Multimedia Application Processor SCALER
6.2
Preliminary 6-8