MT6228 Datasheet. Www.s Manuals.com. R1.02 Mediatek

User Manual: Datasheets MT6228.

Open the PDF directly: View PDF PDF.
Page Count: 617

DownloadMT6228 - Datasheet. Www.s-manuals.com. R1.02 Mediatek
Open PDF In BrowserView PDF
Ko
nk
a
fo
r

Co
nf
id
en
tia
l

Re
lea
se

MT6228 GSM/GPRS Baseband
Processor Data Sheet

Revision 1.02

MT
K

September 09, 2005

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Revision History
Revision

Date

1.00

Jun 28, 2005

Fixed ball count description from 313 to 314 balls.
Typo fixed.

fo
r

1.
2.

Re
lea
se

Sep 09, 2005

Co
nf
id
en
tia
l

1.02

First Release
1. Correct typo in “Flow Control” section of Post Resize
Aug 30, 2005
2. Change IRQ_STA and IRQ_STA2 registers to RO type in Interrupt-Controller
3. Additional core power ball, VDDK, is added in ball map diagram.
4. Updated package thickness to 1.2 in product description

MT
K

1.01

Comments

2/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

TABLE OF CONTENTS

Revision History...................................................................................................................................... 2
Preface...................................................................................................................................................... 5

1. System Overview............................................................................................................................... 6

4

5

6

Re
lea
se

Pin Outs.................................................................................................................................................................... 17
Top Marking Definition ........................................................................................................................................... 20
DC Characteristics ................................................................................................................................................... 21
Pin Description......................................................................................................................................................... 22
Power Description.................................................................................................................................................... 31

Micro-Controller Unit Subsystem ................................................................................................. 37

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10

Processor Core ......................................................................................................................................................... 38
Memory Management .............................................................................................................................................. 38
Bus System............................................................................................................................................................... 41
Direct Memory Access............................................................................................................................................. 45
Interrupt Controller .................................................................................................................................................. 61
Code Cache Controller............................................................................................................................................. 74
MPU......................................................................................................................................................................... 82
Data Cache ............................................................................................................................................................... 91
Internal Memory Interface ..................................................................................................................................... 100
External Memory Interface .................................................................................................................................... 100

Co
nf
id
en
tia
l

3

Product Description........................................................................................................................ 17

2.1
2.2
2.3
2.4
2.5

Microcontroller Peripherals ........................................................................................................ 109

4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12

Pulse-Width Modulation Outputs........................................................................................................................... 109
Alerter .....................................................................................................................................................................112
SIM Interface ..........................................................................................................................................................114
Keypad Scanner ..................................................................................................................................................... 123
General Purpose Inputs/Outputs ............................................................................................................................ 125
General Purpose Timer........................................................................................................................................... 139
UART..................................................................................................................................................................... 142
IrDA Framer........................................................................................................................................................... 156
Real Time Clock .................................................................................................................................................... 164
Auxiliary ADC Unit ............................................................................................................................................... 170
SCCB ..................................................................................................................................................................... 173
Cipher Hash Engine ............................................................................................................................................... 176

Microcontroller Coprocessors ..................................................................................................... 185

5.1
5.2
5.3
5.4

Divider ................................................................................................................................................................... 185
CSD Accelerator .................................................................................................................................................... 187
FCS Codec ............................................................................................................................................................. 197
PPP Framer Coprocessor........................................................................................................................................ 199

Multi-Media Subsystem ............................................................................................................... 206

MT
K

2

Platform Features ....................................................................................................................................................... 9
MODEM Features.....................................................................................................................................................11
Multi-Media Features............................................................................................................................................... 12
General Description ................................................................................................................................................. 15

fo
r

1.1
1.2
1.3
1.4

6.1
6.2
6.3
6.4

LCD Interface ........................................................................................................................................................ 206
NAND FLASH interface ....................................................................................................................................... 226
USB OTG Controller ............................................................................................................................................. 242
Memory Stick and SD Memory Card Controller ................................................................................................... 259
3/616

MediaTek Inc. Confidential

9

Re
lea
se

8

Audio Front-End........................................................................................................................... 512

7.1
7.2
7.3

General Description ............................................................................................................................................... 512
Register Definitions ............................................................................................................................................... 515
Programming Guide............................................................................................................................................... 519

Radio Interface Control ............................................................................................................... 521

8.1
8.2
8.3
8.4

Baseband Serial Interface....................................................................................................................................... 521
Baseband Parallel Interface.................................................................................................................................... 527
Automatic Power Control (APC) Unit ................................................................................................................... 530
Automatic Frequency Control (AFC) Unit ............................................................................................................ 536

Baseband Front End..................................................................................................................... 540

9.1
9.2
9.3

Baseband Serial Ports............................................................................................................................................. 541
Downlink Path (RX Path) ...................................................................................................................................... 543
Uplink Path (TX Path) ........................................................................................................................................... 549

Co
nf
id
en
tia
l

7

Graphic Memory Controller................................................................................................................................... 281
2D acceleration ...................................................................................................................................................... 284
Capture Resize ....................................................................................................................................................... 305
Drop Resize............................................................................................................................................................ 313
Post Resize ............................................................................................................................................................. 317
JPEG Decoder ........................................................................................................................................................ 330
JPEG Encoder ........................................................................................................................................................ 340
GIF Decoder........................................................................................................................................................... 346
PNG Decoder ......................................................................................................................................................... 356
Camera Interface .................................................................................................................................................... 368
Image DMA ........................................................................................................................................................... 410
Image Engine ......................................................................................................................................................... 441
MPEG-4/H.263 Video CODEC ............................................................................................................................. 458
TV Controller ......................................................................................................................................................... 498
TV encoder............................................................................................................................................................. 504

fo
r

6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

10 Timing Generator ......................................................................................................................... 552
10.1 TDMA timer........................................................................................................................................................... 552
10.2 Slow Clocking Unit................................................................................................................................................ 559

11 Power, Clocks and Reset .............................................................................................................. 563
11.1
11.2
11.3
11.4

B2PSI ..................................................................................................................................................................... 563
Clocks .................................................................................................................................................................... 565
Reset Generation Unit (RGU) ................................................................................................................................ 571
Software Power Down Control .............................................................................................................................. 574

12 Analog Front-end & Analog Blocks ............................................................................................ 579
12.1 General Description ............................................................................................................................................... 579
12.2 MCU Register Definitions ..................................................................................................................................... 590
12.3 Programming Guide............................................................................................................................................... 601

MT
K

13 Digital Pin Electrical Characteristics.......................................................................................... 603

4/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Preface
Acronym for Register Type
Capable of both read and write access

RO

Read only

RC

Read only. After reading the register bank, each bit which is HIGH(1) will be cleared to LOW(0 )
automatically.

WO

Write only

W1S

Write only. When writing data bits to register bank, each bit which is HIGH(1) will cause the
corresponding bit to be set to 1. Data bits which are LOW(0) has no effect on the corresponding bit.

W1C

Write only. When writing data bits to register bank, each bit which is HIGH(1) will cause the
corresponding bit to be cleared to 0. Data bits which are LOW(0) has no effect on the corresponding bit.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

R/W

5/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

1. System Overview

Typical application diagram is shown in Figure 1.
Platform
MT6228 is capable of running the ARM7EJ-STM RISC
processor at up to 104 MHz, thus providing fast data
processing capabilities. In addition to the high clock
frequency, separate CODE and DATA caches are also
added to further improve the overall system efficiency.

fo
r

Multi-media

The MT6228 multi-media subsystem provides a
connection to a CMOS image sensor and supports a
resolution up to 3Mpixels. With its advanced image
signal and data processing technology, MT6228 allows
efficient processing of image and video data. Built-in
JPEG CODEC and MPEG-4 CODEC enable real-time
recording and playback of high-quality images and video.
A hardware MPEG4 accelerator supports playback in VGA
mode at 15fps and encoding in CIF at 15fps. Videophone
functionality is also provided. Moreover, a high quality
de-blocking filter is removes blocking artifacts in video
playback. GIF and PNG decoders are implemented for
fast image decoding. MT6228 supports a TV-OUT
capability, allowing the mobile handset to connect to a TV
screen via an NTSC or PAL connection.

Co
nf
id
en
tia
l

For large amounts of data transfer, high performance DMA
(Direct Memory Access) with hardware flow control is
implemented, which greatly enhances the data movement
speed while reducing MCU processing load.

used to connect to legacy devices such as Color/Parallel
LCD, and multi-media companion chips are all supported
through this interface. To minimize power consumption
and ensure low noise, this interface is designed for flexible
I/O voltage and allows lowering of the supply voltage
down to 1.8V. The driving strength is configurable for
signal integrity adjustment. The data bus also employs
retention technology to prevent the bus from floating
during a turn over.

Re
lea
se

MT6228 is a feature-rich and extremely powerful
single-chip solution for high-end GSM/GPRS mobile
phones. Based on the 32-bit ARM7EJ-STM RISC
processor, MT6228’s superb processing power, along with
high bandwidth architecture and dedicated hardware
support, provides an unprecedented platform for high
performance GPRS Class 12 MODEM and leading-edge
multimedia applications. Overall, MT6228 presents a
revolutionary platform for multimedia-centric mobile
devices.

Targeted as a media-rich platform for mobile applications,
MT6228 also provides hardware security digital rights
management for copyright protection. For further
safeguarding, and to protect the manufacturer’s
development investment, hardware flash content protection
is provided to prevent unauthorized porting of the software
load.

In addition to advanced image and video features, MT6228
utilizes high resolution DAC, digital audio, and audio
synthesis technology to provide superior audio features for
all future multi-media needs.

Memory

Connectivity and Storage

MT
K

To provide the greatest capacity for expansion and
maximum bandwidth for data intensive applications such
as multimedia features, MT6228 supports up to 4 external
state-of-the-art devices through its 8/16-bit host interface.
High performance devices such as Mobile RAM and
Cellular RAM are supported for maximum bandwidth.
Traditional devices such as burst/page mode flash, page
mode SRAM, and Pseudo SRAM are also supported. For
greatest compatibility, the memory interface can also be

To take advantage of its incredible multimedia strengths,
MT6228 incorporates myriads of advanced connectivity
and storage options for data storage and communication.
MT6228 supports UART, Fast IrDA, USB 1.1 Full Speed
OTG, SDIO, Bluetooth and WIFI Interface, and
MMC/SD/MS/MS Pro storage systems. These interfaces
provide MT6228 users with the highest degree of
flexibility in implementing solutions suitable for the
targeted application.

6/616

MediaTek Inc. Confidential

Audio
Using a highly integrated mixed-signal Audio Front-End,
the MT6228 architecture allows for easy audio interfacing
with direct connection to the audio transducers. The
audio interface integrates D/A and A/D Converters for
Voice band, as well as high resolution Stereo D/A
Converters for Audio band. In addition, MT6228 also
provides Stereo Input and Analog MUX.

The MT6228 offers various low-power features to help
reduce system power consumption. These features
include a Pause Mode of 32 KHz clocking in Standby State,
Power Down Mode for individual peripherals, and
Processor Sleep Mode. MT6228 is also fabricated in an
advanced low leakage CMOS process, hence providing an
overall ultra low leakage solution.

Package

The MT6228 device is offered in a 13mm×13mm, 314-ball,
0.65 mm pitch, TFBGA package.

Co
nf
id
en
tia
l

MT6228 supports AMR codec to adaptively optimize
speech and audio quality. Moreover, HE-AAC codec is
implemented to deliver CD-quality audio at low bit rates.

Power Management

fo
r

Furthermore, to provide more better configurability and
bandwidth for multi-media products, an additional 18-bit
parallel interface is incorporated. This interface enables
connection to LCD panels as well as NAND flash devices
for additional multi-media data storage.

The JTAG interface enables in-circuit debugging of the
software program with the ARM7EJ-S core. With this
standardized debugging interface, MT6228 provides
developers with a wide set of options in choosing ARM
development kits from different third party vendors.

Re
lea
se

To achieve a complete user interface, MT6228 also brings
together all the necessary peripheral blocks for a
multi-media GSM/GPRS phone. The peripheral blocks
include the Keypad Scanner with the capability to detect
multiple key presses, SIM Controller, Alerter, Real Time
Clock, PWM, Serial LCD Controller, and General Purpose
Programmable I/Os.

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

On the whole, MT6228’s audio features provide a rich
solution for multi-media applications.
Radio

MT
K

MT6228 integrates a mixed-signal baseband front-end in
order to provide a well-organized radio interface with
flexibility for efficient customization. The front-end
contains gain and offset calibration mechanisms, and filters
with programmable coefficients for comprehensive
compatibility control on RF modules. This approach
allows the usage of a high resolution D/A Converter for
controlling VCXO or crystal, reducing the need for an
expensive TCVCXO. MT6228 achieves great MODEM
performance by utilizing a 14-bit high resolution A/D
Converter in the RF downlink path. Furthermore, to
reduce the need for extra external current-driving
component, the driving strength of some BPI outputs is
designed to be configurable.
Debug Function

7/616

MediaTek Inc. Confidential

FLASH
SRAM
PSRAM

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
SDRAM
CellularRAM

CMOS
SENSOR

NAND
FLASH

LCD

DEBUGGER

IMAGE INPUT

TV OUT

AFC

SPEECH/AUDIO
INPUT

SYSCLK
APC

SPEECH/AUDIO
OUTPUT

BPI

BSI

CHIP UID

B2PSI

AUXADC

POWER
MANAGEMENT
CIRCUITRY

SUPPLY
VOLTAGES

SERIAL
LCD

USB MMC/SD/MS
OTG MSPRO/SDIO

Co
nf
id
en
tia
l

AUDIO
DAC

Re
lea
se

MT6228

ALERTER
SIM
USIM

RF
MODULE

RX I/Q

HIFI STEREO
OUTPUT

I2S

TCVCXO

TX I/Q

FM STEREO
RADIO INPUT

PWM

18-BIT PARALLEL
INTERFACE

fo
r

   
   

JTAG

SERIAL
LCD

UART
KEYPAD
IRDA

1

2

3

4

5

6

7

8

9

*

0

#

MT
K

Figure 1 Typical application of MT6228

8/616

MediaTek Inc. Confidential

1.1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Platform Features

General

Industry standard Parallel LCD interface

Supports multi-media companion chips with 8/16
bits data width

TFBGA 13mm×13mm, 314-ball, 0.65 mm pitch
package

Flexible I/O voltage of 1.8V ~ 2.8V for memory
interface

fo
r

Integrated voice-band, audio-band and base-band
analog front ends

MCU Subsystem

Configurable driving strength for memory
interface

ARM7EJ-S 32-bit RISC processor

Java hardware acceleration for fast Java-based
games and applets
Operating frequency: 26/52/104 MHz
Dedicated DMA bus
14 DMA channels
1M bits on-chip SRAM
1M bits MCU dedicated Tightly Coupled memory

User Interfaces

Re
lea
se

High performance multi-layer AMBA bus

6-row × 7-column keypad controller with
hardware scanner
Supports multiple key presses for gaming
SIM/USIM controller with hardware T=0/T=1
protocol control

Real Time Clock (RTC) operating with a separate
power supply
General Purpose I/Os (GPIOs)

Co
nf
id
en
tia
l

256K bits CODE cache

2 sets of Pulse Width Modulation (PWM) output

64K bits DATA cache

Alerter output with Enhanced PWM or PDM

On-chip boot ROM for Factory Flash
Programming

8 external interrupt lines

Security

Watchdog timer for system crash recovery
3 sets of General Purpose Timer

Circuit Switch Data coprocessor
Division coprocessor

Cipher: supports AES, DES/3DES
Hash: supports MD5, SHA-1
Supports security key and 27 bit chip unique ID

Connectivity

PPP Framer coprocessor

External Memory Interface

Supports up to 4 external devices

Supports 8-bit or 16-bit memory components with
maximum size of up to 64M Bytes each

3 UARTs with hardware flow control and speeds
up to 921600 bps
IrDA modulator/demodulator with hardware
framer. Supports SIR/MIR/FIR operating speeds.

MT
K

Full-speed USB 1.1 OTG capability. Supports
device mode, limited host mode, and dual-role
OTG mode.

Supports Mobile RAM and Cellular RAM
Supports Flash and SRAM/PSRAM with page
mode or burst mode

9/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Multi Media Card, Secure Digital Memory Card,
Memory Stick, Memory Stick Pro host controller
with flexible I/O voltage power
Supports SDIO interface for SDIO peripherals as
well as WIFI connectivity
DAI/PCM and I2S interface for Audio application

fo
r

Power Management
Power Down Mode for analog and digital circuits
Processor Sleep Mode

7-channel Auxiliary 10-bit A/D Converter for
charger and battery monitoring and photo sensing
Test and Debug
Built-in digital and analog loop back modes for
both Audio and Baseband Front-End
DAI port complying with GSM Rec.11.10

MT
K

Co
nf
id
en
tia
l

JTAG port for debugging embedded MCU

Re
lea
se

Pause Mode of 32 KHz clocking in Standby State

10/616

MediaTek Inc. Confidential

1.2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MODEM Features

Radio Interface and Baseband Front End

GSM/GPRS quad vocoders for adaptive multirate
(AMR), enhanced full rate (EFR), full rate (FR)
and half rate (HR)

GMSK modulator with analog I and Q channel
outputs

GSM channel coding, equalization and A5/1 and
A5/2 ciphering

fo
r

10-bit D/A Converter for uplink baseband I and Q
signals

GPRS GEA1 and GEA2 ciphering

14-bit high resolution A/D Converter for downlink
baseband I and Q signals

10-bit D/A Converter for Automatic Power
Control
13-bit high resolution D/A Converter for
Automatic Frequency Control
Programmable Radio RX filter
2 channels Baseband Serial Interface (BSI) with
3-wire control

Packet Switched Data with CS1/CS2/CS3/CS4
coding schemes

Re
lea
se

Calibration mechanism of offset and gain
mismatch for baseband A/D Converter and D/A
Converter

Programmable GSM/GPRS modem

GSM Circuit Switch Data
GPRS Class 12

Voice Interface and Voice Front End
Two microphone inputs sharing one low noise
amplifier with programmable gain and automatic
gain control (AGC) mechanisms
Voice power amplifier with programmable gain

Co
nf
id
en
tia
l

Bi-directional BSI interface. RF chip register
read access with 3-wire or 4-wire interface.
10-Pin Baseband Parallel Interface (BPI) with
programmable driving strength
Multi-band support

2nd order Sigma-Delta A/D Converter for voice
uplink path
D/A Converter for voice downlink path
Supports half-duplex hands-free operation
Compliant with GSM 03.50

Voice and Modem CODEC
Dial tone generation
Voice memo

Noise reduction

Echo suppression

Advanced sidetone Oscillation Reduction

MT
K

Digital sidetone generator with programmable
gain

Two programmable acoustic compensation filters

11/616

MediaTek Inc. Confidential

Multi-Media Features

LCD/NAND Flash Interface

Shading compensation

Dedicated Parallel Interface supports 3 external
devices with 8-/16-bit NAND flash interface,
8-/9-/16-/18-bit Parallel interface, and Serial
interface for LCM

Defect Pixel compensation
Graphic Compression
GIF Decoder
PNG Decoder

Built-in NAND Flash Controller with 1-bit ECC
for mass storage

JPEG Decoder

LCD Controller

Supports LCM format: RGB332, RGB444,
RGB565, RGB666, RGB888
Supports LCD module with maximum resolution
up to 800x600 at 24bpp
Per pixel alpha channel
True color engine

ISO/IEC 10918-1 JPEG Baseline and Progressive
modes

Re
lea
se

Supports simultaneous connection to up to 3
parallel LCD and 2 serial LCD modules

fo
r

1.3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Supports all possible YUV formats, including
grayscale format
Supports all DC/AC Huffman table parsing
Supports all quantization table parsing
Supports a restart interval

Supports SOS, DHT, DQT and DRI marker
parsing

Supports hardware display rotation

Co
nf
id
en
tia
l

IEEE Std 1180-1990 IDCT standards compliance

Capable of combining display memories with up to
6 blending layers
Image Signal Processor

8/10 bit Bayer format image input

Supports progressive image processing to
minimize storage space requirement
Supports reload-able DMA for VLD stream

JPEG Encoder

Capable of processing image of size up to 3M
pixels
Color correction matrix

ISO/IEC 10918-1 JPEG baseline mode
ISO/IEC 10918-2 compliance
Supports YUV422 and YUV420 and grayscale
formats

Automatic exposure (AE) control

Supports JFIF

Automatic white balance (AWB) control

Standard DC and AC Huffman tables

Programmable AE/AWB windows

Provides 4 levels of encode quality

Edge enhancement support

Supports continuous shooting

MT
K

Gamma correction

Histogram equalization logic

Image Data Processing

Horizontal and vertical sync information on
separate pins

Supports Digital Zoom

12/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Supports RGB888/565, YUV444 image
processing

Error Resilience for decoder: Slice
Resynchronization, Data Partitioning, Reversible
VLC

High throughput hardware scaler. Capable of
tailoring an image to an arbitrary size.

Supported visual tools for encoder: I-VOP, P-VOP,
Half-Pel, DC Prediction, Unrestricted MV,
Reversible VLC, Short Header

Horizontal scaling in averaging method
Vertical scaling in bilinear method

Supports encoding motion vector of range up
to –64/+63.5 pixels

fo
r

Simultaneous scaling for MPEG-4 encode and
LCD display

HE-AAC decode support

YUV and RGB color space conversion

AAC/AMR/WB-AMR audio decode support

Pixel format transform

Pixel processing: hue/saturation/intensity/color
adjustment, Gamma correction and
grayscale/invert/sepia-tone effects
Programmable spatial filtering: linear filter,
non-linear filter and multi-pass artistic effects
Hardware accelerated image editing
Photo frame capability

AMR/WB-AMR audio encode support

Re
lea
se

Boundary padding

TV-OUT

Supports NTSC/PAL formats (interlaced mode)
10 bit video DAC with 2x oversampling
Supports one composite video output

2D Accelerator

Supports 32-bpp ARGB8888, 24-bpp RGB888,
16-bpp RGB565, and 8-bpp index color modes

Co
nf
id
en
tia
l

RGB thumbnail data output
MPEG-4/H.263 CODEC

Supports SVG Tiny
Rectangle gradient fill

Hardware Video CODEC

BitBlt: multi-BitBlt with 7 rotation, 16 binary ROP

ISO/IEC 14496-2 simple profile:

Alpha blending with 7 rotation

decode @ level 0/1/2/3

Line drawing: normal line, dotted line,
anti-aliasing

encode @ level 0

ITU-T H.263 profile 0 @ level 10

Max decode speed is VGA @ 15fps
Max encode speed is CIF @ 15fps
Support VGA mode encoding

Horizontal and vertical de-blocking filter in video
playback

Circle drawing
Bezier curve drawing
Triangle flat fill
Font caching: normal font, italic font
Command queue with max depth of 2047

Audio CODEC
Supports HE-AAC codec decode

Supported visual tools for decoder: I-VOP, P-VOP,
AC/DC Prediction, 4-MV, Unrestricted MV, Error
Resilience, Short Header

Supports AAC codec decode

MT
K

Encoder resync marker and HEC

Wavetable synthesis with up to 64 tones

13/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Advanced wavetable synthesizer capable of
generating simulated stereo
Wavetable including GM full set of 128
instruments and 47 sets of percussions
PCM Playback and Record
Digital Audio Playback

fo
r

Audio Interface and Audio Front End
Supports I2S interface

Stereo analog input for stereo audio source
Analog multiplexer for stereo audio

MT
K

Co
nf
id
en
tia
l

Stereo to mono conversion

Re
lea
se

High resolution D/A Converters for Stereo Audio
playback

14/616

MediaTek Inc. Confidential

1.4

General Description

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 2 depicts the block diagram of MT6228. Based on a dual-processor architecture, MT6228 integrates both an
ARM7EJ-S core and a digital signal processor core. ARM7EJ-S is the main processor responsible for running
high-level GSM/GPRS protocol software as well as multi-media applications. The digital signal processor manages
the low-level MODEM as well as advanced audio functions. Except for a few mixed-signal circuitries, the other
building blocks in MT6228 are connected to either the microcontroller or the digital signal processor.

fo
r

MT6228 consists of the following subsystems:

Microcontroller Unit (MCU) Subsystem: includes an ARM7EJ-S RISC processor and its accompanying
memory management and interrupt handling logics;

Re
lea
se

Digital Signal Processor (DSP) Subsystem: includes a DSP and its accompanying memory, memory controller,
and interrupt controller;
MCU/DSP Interface: the junction at which the MCU and the DSP exchange hardware and software
information;
Microcontroller Peripherals: includes all user interface modules and RF control interface modules;
Microcontroller Coprocessors: runs computing-intensive processes in place of the Microcontroller;
DSP Peripherals: hardware accelerators for GSM/GPRS channel codec;

Multi-media Subsystem: integrates several advanced accelerators to support multi-media applications;
Voice Front End: the data path for converting analog speech to and from digital speech;
Audio Front End: the data path for converting stereo audio from an audio source;

Co
nf
id
en
tia
l

Video Front End: the data path for converting a video signal to NTSL/PAL format;
Baseband Front End: the data path for converting a digital signal to and from an analog signal from the RF
modules;
Timing Generator: generates the control signals related to the TDMA frame timing; and,
Power, Reset and Clock Subsystem: manages the power, reset, and clock distribution inside MT6228.

MT
K

Details of the individual subsystems and blocks are described in the following chapters.

15/616

MediaTek Inc. Confidential

MIC-0

ADC

MIC-1

PATCH
UNIT

MEMORY

DSP COPROCES
SOR

TRAP
UNIT

DSP COPROCES
SOR

DAC

VOICE

AUDIO
PATH

DSP

DSP COPROCES
SOR

INTERRUPT
CONTROL

DAC

AUDIO-L

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

+

STEREO-L

MCU/DSP
INTERFACE

+

RX-I

ADC

RX-Q

ADC

TX-I

DAC

TX-Q

DAC

BASEBAND
PATH

BOOT
ROM

INTERRUPT
CONTROL
AFC

DAC

SECURITY
ENGINE

TV-OUT
CON

APC

DAC

APC

SERIAL RF
CONTROL

BSI

PARALLEL
RF CONTROL

BPI

CLOCK
GEN

32K
OSC

32KHZ
CRYSTAL

ON-CHIP
SRAM

EXTERNAL
MEMORY
INTERFACE

LCD
CON

GRAPHIC MEMORY
CONTROLLER

IMAGE
POST
PROC

IMAGE
DMA

2D
ENGINE

GIF/PNG
DECODE

JPEG
CODEC

NAND
LCD

MPEG-4
VIDEO
CODEC

NAND
FLASH
CON

IMAGE
SIGNAL
PROC

IMAGE RESIZER

TDMA
TIMER

SIM

GPT

RTC

WAKE UP

WDT

RESET

GPIO

PWM

ALERTER

KEYPAD

USER
INTERFACE

SDRAM
CellularRAM
FLASH
SRAM
PSRAM

TCM

Co
nf
id
en
tia
l

DAC

SYSTEM
CLOCK
13/26MHZ

ARM7EJ-S

AFC

TVOUT

USB OTG

CACHE

CACHE

AUXADC

USB OTG

BRIDGE

AUX
ADC

ADC

DMA
CONTROL

Re
lea
se

STEREO-R

fo
r

DAC

AUDIO-R

B2PSI

SERIAL
LCD

IRDA

MMC
SD/MS
MS PRO

CMOS
SENSOR

SCCB

UART
MT6228

SERIAL PORT

CONNECTIVITY

MT
K

Figure 2 MT6228 block diagram.

16/616

MediaTek Inc. Confidential

2
2.1

Product Description
Pin Outs

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

One type of package for this product, TFBGA 13mm*13mm, 314-ball, 0.65 mm pitch Package, is offered.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Pin-outs and the top view are illustrated in Figure 3 for this package. Outline and dimension of package is illustrated in
Figure 4, while the definition of package is shown in Table 1.

17/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

A

AVDD_
PLL

TVOUT

VSS33

AFC_B
YP

AUXA
DIN6

AUXA
DIN3

AVDD_
RFE

BUPAI
N

BDLAI
N

AU_VI
N1_P

AGND
_AFE

AU_O
UT0_P

AVSS_
BUF

AU_F
MINR

AU_M
OUTR

VSS33

GPIO9

GPIO8

GPIO6

A

B

SYSCL
K

AVDD_
TV

VDD33

AFC

AUXA
DIN5

AUXA
DIN2

APC

BUPAI
P

BDLAI
P

AU_VI
N1_N

AU_VR
EF_P

AU_O
UT0_N

AVDD_
BUF

AU_F
MINL

AU_M
OUTL

VSS33

MFIQ

GPIO7

VDD33

B

C

AVSS_
PLL

FRES

AVSS_
TV

AUX_R
EF

AUXA
DIN4

AUXA
DIN1

AVSS_
RFE

BUPA
QN

BDLA
QN

AU_VI
N0_N

AU_VR
EF_N

AU_MI
CBIAS
_P

AU_O
UT1_N

AU_M_
BYP

AVDD_
MBUF

NC

GPIO5

GPIO4

GPIO3

C

D

XIN

XOUT

AVDD_
RTC

VDD33

VSS33

AUXA
DIN0

AVDD_
GSMR
FTX

BUPA
QP

BDLA
QP

AU_VI
N0_P

AVDD_
AFE

AU_MI
CBIAS
_N

AU_O
UT1_P

AVSS_
MBUF

ESDM
_CK

DAIPC
MIN

GPIO2

DAISY
NC

DAIRS
T

D

E

BBWA
KEUP

VSS33

VDDK

JTRST
#

TESTM
ODE

VDD33

VSS33

AVSS_
GSMR
FTX

AGND
_RFE

AVSS_
AFE

VDD33

VSS33

VDD33

VSS33

VDD33

F

JRTCK

JTDO

JTMS

JTDI

JTCK

PLLOU
T

VDD33

VSS33

VDDK

G

BPI_B
US3

VDD33

BPI_B
US2

BPI_B
US1

BPI_B
US0

H

VSS33

BPI_B
US8

BPI_B
US7

BPI_B
US6

BPI_B
US5

J

LSCK

BSI_C
LK

BSI_D
ATA

BSI_C
S0

BPI_B
US9

K

VDD33

LSCE1
#

LSCE0
#

LSDA

L

LWR#

LPA0

LRD#

M

VSS33

VDDK

N

NRNB

P

KROW
4

KCOL3

CMDA
T9

CMPC
LK

CMMC
LK

BPI_B
US4

CMDA
T8

NLD16

NLD14

LSA0

LPCE1
#

CMDA
T7

NLD15

NLD12

LRST#

LPCE0
#

NLD7

CMDA
T6

NLD13

NLD10

NLD4

NLD5

NLD6

CMDA
T5

CMDA
T4

CMDA
T3

NLD0

NLD1

NLD2

NLD3

KROW
0

DAICL
K

DAIPC
MOUT

E

KROW
3

KROW
2

VDDK

VSS33

F

KCOL2

KCOL1

KCOL0

KROW
5

G

CMHR
EF

CMVR
EF

IRDA_
TXD

IRDA_
PDN

KCOL6

KCOL5

KCOL4

H

NLD11

CMRS
T

UTXD2

URXD3

UTXD3

VDD33

IRDA_
RXD

J

NLD9

CMPD
N

URXD1

UTXD1

UCTS1

URTS1

URXD2

K

NLD8

CMDA
T0

VSS33

SIMCL
K

SIMVC
C

SIMSE
L

SIMDA
TA

L

CMDA
T2

CMDA
T1

MCWP

MCINS

MCCK

SIMRS
T

M

VDD33
_AUX1

MCDA
2

MCDA
3

MCPW
RON

N

NCE#

NRE#

NWE#

NALE

NCLE

VDDK

VDD33
_AUX2

MCCM
0

MCDA
0

MCDA
1

P

R

VDD33

ALERT
ER

PWM2

PWM1

EA19

VSS33
_EMI

EA12

EA8

EA4

VDD33
_EMI

ECS3#

VSS33
_EMI

ECKE

EWAIT

ED0

WATC
HDOG

VSS33
_EMI

USB_D
P

USB_D
M

R

T

SRCL
KENA
N

SYSRS
T#

SRCL
KENAI

SRCL
KENA

EA20

EA16

VDD33
_EMI

EA9

EA5

EA1

EPDN#

EWR#

EDCL
K

ECAS#

ED13

ED10

VDD33
_EMI

ED2

ED1

T

U

GPIO1

EINT0

GPIO0

MIRQ

EA21

EA17

EA13

VSS33
_EMI

EA6

EA2

VSS33
_EMI

ECS0#

VDD33
_EMI

VSS33
_EMI

ED14

ED11

ED8

ED4

ED3

U

V

EINT1

EINT3

VDD33
_EMI

EA24

EA22

VDD33
_EMI

EA14

VDDK

EA7

VSS33
_EMI

ECLK

ECS1#

ELB#

VDDK

VDD33
_EMI

ED12

VDD33
_EMI

VSS33
_EMI

ED5

V

W

EINT2

VSS33
_EMI

EA25

EA23

VSS33
_EMI

EA18

EA15

EA10

VDD33
_EMI

EA3

EADV#

VDD33
_EMI

EUB#

ERAS#

ED15

VSS33
_EMI

ED9

ED7

ED6

W

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

MT6228 TFBGA Top-View
EA0

ECS2#

ERD#

Co
nf
id
en
tia
l

EA11

KROW
1

Re
lea
se

NLD17

fo
r

1

MT
K

Figure 3 Top View of MT6228 TFBGA 13mm*13mm, 314-ball, 0.65 mm pitch Package

18/616

MediaTek Inc. Confidential

Ko
nk
a

Revision 1.0

Re
lea
se

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 4 Outlines and Dimension of TFBGA 13mm*13mm, 314-ball, 0.65 mm pitch Package
Ball Count

Ball Pitch

Ball Dia.

D

E

N

E

B

13

13

314

0.65

0.35

Package Thk.

Stand Off

Substrate
Thk.

A (Max.)

A1

C

1.2

0.3

0.36

Co
nf
id
en
tia
l

Body Size

MT
K

Table 1 Definition of TFBGA 13mm*13mm, 314-ball, 0.65 mm pitch Package (Unit: mm)

19/616

MediaTek Inc. Confidential

Top Marking Definition

S

MT
K

Co
nf
id
en
tia
l

Re
lea
se

MT6228T
DDDD-###
LLLLL
KKKKK

MT6228T: Part No.
DDDD:
Date Code
###:
Subcontractor Code
LLLLL: U1 Die Lot No.
KKKKK: U2 Die Lot No.
S:
Special Code

fo
r

2.2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20/616

MediaTek Inc. Confidential

2.3
2.3.1

DC Characteristics
Absolute Maximum Ratings

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Prolonged exposure to absolute maximum ratings may reduce device reliability. Functional operation at these
maximum ratings is not implied.
Symbol

Min

Max

Unit

IO power supply

VDD33

-0.3

VDD33+0.3

V

I/O input voltage

VDD33I

-0.3

VDD33+0.3

V

Operating temperature

Topr

-20

80

Celsius

Storage temperature

Tstg

-55

125

Celsius

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Item

21/616

MediaTek Inc. Confidential

2.4

Revision 1.0

Pin Description

Ball
Name
13X13

Dir Description

Mode0

Mode1

Mode2

Mode3

JTAG Port
E4
F5
F4
F3
F2
F1

JTRST#
JTCK
JTDI
JTMS
JTDO
JRTCK

I
I
I
I
O
O

JTAG test port reset input
JTAG test port clock input
JTAG test port data input
JTAG test port mode switch
JTAG test port data output
JTAG test port returned clock output

G5
G4
G3
G1
J6
H5
H4
H3
H2
J5

BPI_BUS0
BPI_BUS1
BPI_BUS2
BPI_BUS3
BPI_BUS4
BPI_BUS5
BPI_BUS6
BPI_BUS7
BPI_BUS8
BPI_BUS9

O
O
O
O
O
O
IO
IO
IO
IO

RF hard-wire control bus 0
RF hard-wire control bus 1
RF hard-wire control bus 2
RF hard-wire control bus 3
RF hard-wire control bus 4
RF hard-wire control bus 5
RF hard-wire control bus 6
RF hard-wire control bus 7
RF hard-wire control bus 4
RF hard-wire control bus 5

J4
J3
J2

BSI_CS0
BSI_DATA
BSI_CLK

O
O
O

RF 3-wire interface chip select 0
RF 3-wire interface data output
RF 3-wire interface clock output

R4

PWM1

IO

Pulse width modulated signal 1

GPIO32

PWM1

TBTXFS

R3

PWM2

IO

Pulse width modulated signal 2

GPIO33

PWM2

TBRXEN

R2

ALERTER

IO

Pulse width modulated signal for
buzzer

GPIO34

ALERTER TBRXFS

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

PD
PU
PU
PU

Re
lea
se

RF Parallel Control Unit

GPIO16
GPIO17
GPIO18
GPIO19

Co
nf
id
en
tia
l

RF Serial Control Unit

PU/ Rese
PD t

BPI_BUS6
BPI_BUS7 13MHz
BPI_BUS8 6.5MHz
BPI_BUS9 BSI_CS1

26MHz
32KHz
BFEPRB
O

PD
PD
PD
PD

Input
Input
Input
Input
0
0

0
0
0
0
0
0
Input
Input
Input
Input

0
0
0

PWM Interface

DSP_TID
2
DSP_TID
3
DSP_TID
4

PD

Input

PD

Input

PD

Input

PU

Input

Serial LCD/PM IC Interface

J1

LSCK

K5

LSA0

K4
K3

LSDA
LSCE0#

K2

LSCE1#

IO

Serial display interface data output

GPIO20

LSCK

IO

Serial display interface address
output
Serial display interface clock output
Serial display interface chip select 0
output
Serial display interface chip select 1
output

GPIO21

LSA0

TDMA_C TBTXEN
K
TDMA_D1 TDTIRQ

PU

Input

GPIO22
GPIO23

LSDA
LSCE0#

TDMA_D0 TCTIRQ2 PU
TDMA_FS TCTIRQ1 PU

Input
Input

GPIO24

LSCE1#

LPCE2#

TEVTVA
L

PU

Input

Parallel display interface chip select 1 GPIO25
output
Parallel display interface chip select 0
output
Parallel display interface Reset Signal
Parallel display interface Read Strobe

LPCE1#

NCE1#

DSP_TID
0

PU

Input

IO
IO

IO

Parallel LCD/NAND-Flash
Interface

LPCE1#

IO

MT
K

K6
L5

LPCE0#

O

L4
L3

LRST#
LRD#

O
O

22/616

1
1
1

MediaTek Inc. Confidential

L2

LPA0

O

L1

LWR#

O

G7

NLD17

J9
K9
J10
L9

IO

Parallel display interface address
output
Parallel display interface Write
Strobe
Parallel LCD/NAND-Flash Data 17

GPIO11

NLD17

MCDA4

NLD16
NLD15
NLD14
NDL13

IO
IO
IO
IO

Parallel LCD/NAND-Flash Data 16
Parallel LCD/NAND-Flash Data 15
Parallel LCD/NAND-Flash Data 14
Parallel LCD/NAND-Flash Data 13

GPIO10
NLD15
NLD14
NLD13

NLD16
GPIO61
GPIO60
GPIO59

MCDA5

K10

NLD12

IO

Parallel LCD/NAND-Flash Data 12

NLD12

GPIO58

J11

NLD11

IO

Parallel LCD/NAND-Flash Data 11

NLD11

GPIO57

L10

NLD10

IO

Parallel LCD/NAND-Flash Data 10

NLD10

GPIO56

K11

NLD9

IO

Parallel LCD/NAND-Flash Data 9

L11

NLD8

IO

Parallel LCD/NAND-Flash Data 8

L6
M5
M4
M3
N5
N4
N3
N2
N1

NLD7
NLD6
NLD5
NLD4
NLD3
NLD2
NLD1
NLD0
NRNB

IO
IO
IO
IO
IO
IO
IO
IO
IO

Parallel LCD/NAND-Flash Data 7
Parallel LCD/NAND-Flash Data 6
Parallel LCD/NAND-Flash Data 5
Parallel LCD/NAND-Flash Data 4
Parallel LCD/NAND-Flash Data 3
Parallel LCD/NAND-Flash Data 2
Parallel LCD/NAND-Flash Data 1
Parallel LCD/NAND-Flash Data 0
NAND-Flash Read/Busy Flag

P5

NCLE

P4

NALE

P3
P2

NWE#
NRE#

P1

NCE#

M19
L16
L17
L18
L19

SIMRST
SIMCLK
SIMVCC
SIMSEL
SIMDATA

U3

GPIO0

U1
D17
C19
C18

GPIO1
GPIO2
GPIO3
GPIO4

C17

A19

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

1

GPIO55

NLD8

GPIO54

Co
nf
id
en
tia
l

NRNB

GPIO26

IO

NAND-Flash Command Latch Signal NCLE

GPIO27

IO

NAND-Flash Address Latch Signal

NALE

GPIO28

IO
IO

NAND-Flash Write Strobe
NAND-Flash Read Strobe

NWE#
NRE#

GPIO29
GPIO30

IO

NAND-Flash Chip select output

NCE#

GPIO31

O
O
O
O
IO

SIM card reset output
SIM card clock output
SIM card supply power control
SIM card supply power select
SIM card data input/output

IO

Input

PD
PD
PD
PD

Input
Input
Input
Input

PD

Input

PD

Input

PD

Input

PD

Input

PD

Input

PD
PD
PD
PD
PD
PD
PD
PD
USBSESS SWDBGD PU
VLD
2
USBVBUS SWDBGD PD
VLD
1
USBSESS SWDBGD PD
END
0
PU
USBVBUS SWDBGC PU
DSC
K
PU

Input
Input
Input
Input
Input
Input
Input
Input

Re
lea
se
NLD9

PD

fo
r

DSP_TID
1
DID
DIMS
DICK
SWDBGP
KT
SWDBG
WR
SWDBGR
D
SWDBGR
OE
SWDBGA
0
SWDBGA
1

SIM Card Interface

GPIO48

SIMSEL

General purpose input/output 0

GPIO0

IO
IO
IO
IO

General purpose input/output 1
General purpose input/output 2
General purpose input/output 3
General purpose input/output 4

GPIO1
GPIO2
GPIO3
GPIO4

CMFLAS
H
BSI_RFIN
SCL
SDA
EDICK
URXD2

GPIO5

IO

General purpose input/output 5

GPIO5

EDIWS

GPIO6

IO

General purpose input/output 6

GPIO6

EDIDAT

PD

0
0
0
Input
0

MT
K

Dedicated GPIO Interface

23/616

UTXD2

DSP_TID
5

PD

Input

PD
PU
PU

Input
Input
Input

SWDBGD
7
SWDBGD
6
SWDBGD

MediaTek Inc. Confidential

B18

GPIO7

IO

General purpose input/output 7

GPIO7

A18

GPIO8

IO

General purpose input/output 19

GPIO8

32KHz

A17

GPIO9

IO

General purpose input/output 21

GPIO9

26MHz

USBVBUS
ON
USBVBUS
CHG
13MHz

5
SWDBGD
4
SWDBGF
SWDBGE

Miscellaneous
I
O

System reset input active low
Watchdog reset output

O

T4

SYSRST#
WATCHDO
G#
SRCLKENA
N
SRCLKENA

T3

SRCLKENAI

IO

External TCXO enable output active
low
External TCXO enable output active
high
External TCXO enable input

E5
D15

TESTMODE I
O
ESDM_CK

TESTMODE enable input
Internal Monitor Clock

H17
H18
H19
G15
G16
G17
G18
G19
F15
F16

KCOL6
KCOL5
KCOL4
KCOL3
KCOL2
KCOL1
KCOL0
KROW5
KROW4
KROW3

Keypad column 6
Keypad column 5
Keypad column 4
Keypad column 3
Keypad column 2
Keypad column 1
Keypad column 0
Keypad row 5
Keypad row 4
Keypad row 3

F17
E16
E17

KROW2
KROW1
KROW0

U2
V1
W1
V2
U4
B17

EINT0
EINT1
EINT2
EINT3
MIRQ
MFIQ

R15
T19
T18
U19
U18
V19
W19
W18
U17
W17
T16
U16

ED0
ED1
ED2
ED3
ED4
ED5
ED6
ED7
ED8
ED9
ED10
ED11

O

Keypad Interface

GPO0
GPIO31

O
O
O

Keypad row 2
Keypad row 1
Keypad row 0

I
I
I
I
I
I

External interrupt 0
External interrupt 1
External interrupt 2
External interrupt 3
Interrupt to MCU
Interrupt to MCU

IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO

External memory data bus 0
External memory data bus 1
External memory data bus 2
External memory data bus 3
External memory data bus 4
External memory data bus 5
External memory data bus 6
External memory data bus 7
External memory data bus 8
External memory data bus 9
External memory data bus 10
External memory data bus 11

SRCLKE
NAN
SRCLKE
NA
SRCLKEN
AI

KROW5 GPIO44
KROW4 GPIO45
KROW3 GPIO46

Co
nf
id
en
tia
l

I
I
I
I
I
I
I
O
O
O

GPO1

fo
r

T1

Input
1

Re
lea
se

T2
R16

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

KROW2 GPIO47

0
1

PD

Input

PD

Input

PU
PU
PU
PU
PU
PU
PU

Input
Input
Input
Input
Input
Input
Input
0
0
0

ARM CK
AHB CK
FTV CK

TV CK
DSP CK
SLOW
CK
FMCU CK FUSB CK

0
0
0

External Interrupt Interface

GPIO36
GPIO63

MIRQ
MFIQ

6.5MHz
USBID

PU
PU
PU
PU
32KHz
PU
SWDBGD PU
3

Input
Input
Input
Input
Input
Input

MT
K

External Memory Interface

24/616

Input
Input
Input
Input
Input
Input
Input
Input
Input
Input
Input
Input

MediaTek Inc. Confidential

T14
W14
R13
T13
V13
W13
T11
W11

ECAS#
ERAS#
ECKE
EDCLK
ELB#
EUB#
EPDN#
EADV#

O
O
O
O
O
O
O
O

V11

ECLK

O

P10
T10
U10
W10
R9
T9
U9
V9
R8
T8
W8
P8
R7
U7
V7
W7
T6
U6
W6
R5
T5
U5
V5
W4
V4
W3

EA0
EA1
EA2
EA3
EA4
EA5
EA6
EA7
EA8
EA9
EA10
EA11
EA12
EA13
EA14
EA15
EA16
EA17
EA18
EA19
EA20
EA21
EA22
EA23
EA24
EA25

O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O

External memory data bus 12
External memory data bus 13
External memory data bus 14
External memory data bus 15
External memory read strobe
External memory write strobe
External memory chip select 0
External memory chip select 1
External memory chip select 2
External memory chip select 3
Flash, PSRAM and CellularRAM
data ready
MobileRAM column address
MobileRAM row address
MobileRAM clock enable
MobileRAM clock
External memory lower byte strobe
External memory upper byte strobe
PSRAM power down control
Flash, PSRAM and CellularRAM
address valid
Flash, PSRAM and CellularRAM
clock
External memory address bus 0
External memory address bus 1
External memory address bus 2
External memory address bus 3
External memory address bus 4
External memory address bus 5
External memory address bus 6
External memory address bus 7
External memory address bus 8
External memory address bus 9
External memory address bus 10
External memory address bus 11
External memory address bus 12
External memory address bus 13
External memory address bus 14
External memory address bus 15
External memory address bus 16
External memory address bus 17
External memory address bus 18
External memory address bus 19
External memory address bus 20
External memory address bus 21
External memory address bus 22
External memory address bus 23
External memory address bus 24
External memory address bus 25

R18
R19

USB_DP
USB_DM

IO
IO

USB D+ Input/Output
USB D- Input/Output

MT
K

Ko
nk
a

IO
IO
IO
IO
O
O
O
O
O
O
O

PU

Re
lea
se

ED12
ED13
ED14
ED15
ERD#
EWR#
ECS0#
ECS1#
ECS2#
ECS3#
EWAIT

GPO2

Co
nf
id
en
tia
l

V16
T15
U15
W15
P12
T12
U12
V12
P11
R11
R14

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

EPDN#

26Mhz

13MHz

Input
Input
Input
Input
1
1
1
1
1
1
Input
1
1
1

1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

USB Interface

Memory Card Interface

25/616

MediaTek Inc. Confidential

MCCM0

IO

SD Command/MS Bus State Output

P18

MCDA0

IO

P19

MCDA1

IO

SD Serial Data IO 0/MS Serial Data
IO
SD Serial Data IO 1

N17

MCDA2

IO

SD Serial Data IO 2

N18

MCDA3

IO

SD Serial Data IO 3

M18

MCCK

O

N19
M16

MCPWRON
MCWP

O
I

SD Serial Clock/MS Serial Clock
Output
SD Power On Control Output
SD Write Protect Input

M17

MCINS

I

SD Card Detect Input

PU/
PD
PU/
PD
PU/
PD
PU/
PD
PU/
PD

Re
lea
se

fo
r

P17

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

UART/IrDA Interface
K15
K16
K17
K18
K19
J15
J16
J17

URXD1
UTXD1
UCTS1
URTS1
URXD2
UTXD2
URXD3
UTXD3

I
O
I
O
IO
IO
IO
IO

UART 1 receive data
UART 1 transmit data
UART 1 clear to send
UART 1 request to send
UART 2 receive data
UART 2 transmit data
UART 3 receive data
UART 3 transmit data

J19

IRDA_RXD

IO

IrDA receive data

H15

IRDA_TXD

IO

IrDA transmit data

H16

IRDA_PDN

IO

IrDA Power Down Control

E18

DAICLK

IO

DAI clock output

GPIO49

DAICLK

E19

DAIPCMOUT IO

DAI pcm data out

GPIO50

D16

DAIPCMIN

IO

DAI pcm data input

GPIO51

D19
D18

DAIRST
DAISYNC

IO
IO

DAI reset signal input
DAI frame synchronization signal
output

GPIO52
GPIO53

DAIPCMO
UT
DAIPCMI
N
DAIRST
DAISYNC

J12
K12
H12
H11

CMRST
CMPDN
CMVREF
CMHREF

IO
IO
I
I

GPIO12
GPIO13

CMRST
CMPDN

H9
H10
H8

CMPCLK
CMMCLK
CMDAT9

I
O
I

CMOS sensor reset signal output
CMOS sensor power down control
Sensor vertical reference signal input
Sensor horizontal reference signal
input
CMOS sensor pixel clock input
CMOS sensor master clock output
CMOS sensor data input 9

J8

CMDAT8

I

CMOS sensor data input 8

K8

CMDAT7

I

CMOS sensor data input 7

GPIO37
GPIO38
GPIO39
GPIO40

URXD2
UTXD2
URXD3
UTXD3

UCTS3
URTS3

GPIO41

IRDA_RX
D
IRDA_TX
D
IRDA_PD
N

UCTS2

Co
nf
id
en
tia
l

GPIO42
GPIO43

URTS2

PU/ Input
PD
PU/ Input
PD
PU
PU
PU
PU
PU
PU

DSP_TID
6
SWDBGD PU
15
SWDBG1 PU
4
SWDBG1 PU
3

Input
1
Input
1
Input
Input
Input
Input
Input
Input
Input

Digital Audio Interface

SWDBGD
12
SWDBGD
11
SWDBGD
10
SWDBG9
SWDBG8

PU

Input

PD

Input

PU

Input

PU
PU

Input
Input

PD
PD
PD
PD

Input
Input
Input
Input

PD

MT
K

CMOS Sensor Interface

CMDAT
9
CMDAT
8
CMDAT

26/616

GPIO74

PD

Input
0
Input

GPIO73

PD

Input

GPIO72

PD

Input

MediaTek Inc. Confidential

CMDAT6

I

CMOS sensor data input 6

M8

CMDAT5

I

CMOS sensor data input 5

M9

CMDAT4

I

CMOS sensor data input 4

M10

CMDAT3

I

CMOS sensor data input 3

M11

CMDAT2

I

CMOS sensor data input 2

M12
L12

CMDAT1
CMDAT0

IO
IO

CMOS sensor data input 1
CMOS sensor data input 0

B15
A15
C14
B14
A14
D13
C13
B12
A12
C12

C11
B11
D10
C10
B10
A10
D9

AU_MOUL
AU_MOUR
AU_M_BYP
AU_FMINL
AU_FMINR
AU_OUT1_P
AU_OUT1_N
AU_OUT0_N
AU_OUT0_P
AU_MICBIA
S_P
AU_MICBIA
S_N
AU_VREF_N
AU_VREF_P
AU_VIN0_P
AU_VIN0_N
AU_VIN1_N
AU_VIN1_P
BDLAQP

C9

BDLAQN

A9

BDLAIN

B9

BDLAIP

B8

BUPAIP

A8

BUPAIN

C8

BUPAQN

D8

BUPAQP

B7
D6
C6
B6
A6
C5
B5

APC
AUXADIN0
AUXADIN1
AUXADIN2
AUXADIN3
AUXADIN4
AUXADIN5

7
CMDAT
6
CMDAT
5
CMDAT
4
CMDAT
3
CMDAT
2
GPIO50
GPIO51

Microphone bias supply (-)
Audio reference voltage (-)
Audio reference voltage (+)
Microphone 0 amplifier input (+)
Microphone 0 amplifier input (-)
Microphone 1 amplifier input (-)
Microphone 1 amplifier input (+)
Quadrature input (Q+) baseband
codec downlink
Quadrature input (Q-) baseband
codec downlink
In-phase input (I+) baseband codec
downlink
In-phase input (I-) baseband codec
downlink
In-phase output (I+) baseband codec
uplink
In-phase output (I-) baseband codec
uplink
Quadrature output (Q+) baseband
codec uplink
Quadrature output (Q-) baseband
codec uplink
Automatic power control DAC output
Auxiliary ADC input 0
Auxiliary ADC input 1
Auxiliary ADC input 2
Auxiliary ADC input 3
Auxiliary ADC input 4
Auxiliary ADC input 5

GPIO69
GPIO68
GPIO62
CMDAT1
CMDAT0

Input

PD

Input

PD

Input

PD

Input

PD

Input

PD
PD

Input
Input

Co
nf
id
en
tia
l

MT
K

D12

GPIO70

PD

Re
lea
se

Analog Interface
Audio analog output left channel
Audio analog output right channel
Audio DAC bypass pin
FM radio analog input left channel
FM radio analog input right channel
Earphone 1 amplifier output (+)
Earphone 1 amplifier output (-)
Earphone 0 amplifier output (-)
Earphone 0 amplifier output (+)
Microphone bias supply (+)

GPIO71

fo
r

L8

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

27/616

MediaTek Inc. Confidential

A5
C4

AUXADIN6
AUX_REF

B4

AFC

A4

AFC_BYP

B1
F6

SYSCLK
PLLOUT

Auxiliary ADC input 6
Auxiliary ADC reference voltage
input
Automatic frequency control DAC
output
Automatic frequency control DAC
bypass capacitance
VCXO Interface

fo
r

13MHz or 26MHz system clock input
PLL reference voltage output

XIN
XOUT
BBWAKEUP O

A2
C2

TVOUT
FSRES

E3
M2
V8
V14
F18
F11
V3

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDD33_EMI

V6

VDD33_EMI

T7

VDD33_EMI

W9

VDD33_EMI

R10

VDD33_EMI

W12

VDD33_EMI

U13

VDD33_EMI

V15

VDD33_EMI

T17

VDD33_EMI

V17

VDD33_EMI

W5
R6
U8
V10
U11
R12
U14
W16
R17
V18

VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI

32.768 KHz crystal input
32.768 KHz crystal output
Baseband power on/off control
TV Interface
TV DAC Output
Supply Voltages

MT
K

Co
nf
id
en
tia
l

Supply voltage of internal logic
Supply voltage of internal logic
Supply voltage of internal logic
Supply voltage of internal logic
Supply voltage of internal logic
Supply voltage of internal logic
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Supply voltage of memory interface
driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver
Ground of memory interface driver

1

Re
lea
se

RTC Interface
D1
D2
E1

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

28/616

MediaTek Inc. Confidential

R1

VDD33

J18

VDD33

B19

VDD33

E15

VDD33

E13

VDD33

E11

VDD33

F9

VDD33

E6

VDD33

D4

VDD33

B3

VDD33

W2

VSS33

E2

VSS33

H1

VSS33

M1

VSS33

L15

VSS33

F19

VSS33

B16

VSS33

A16

VSS33

E14

VSS33

E12

VSS33

Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Supply voltage of drivers except
memory interface, USB and
MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD

fo
r

VDD33

Supply Voltage of MS/MMC/SD

Re
lea
se

K1

MT
K

N16

Supply voltage of drivers for USB

Co
nf
id
en
tia
l

G2

VDD33_AUX
2
VDD33_AUX
1
VDD33

P16

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

29/616

MediaTek Inc. Confidential

VSS33

E7

VSS33

D5

VSS33

A3

VSS33

A1
C1
B2
C3
D3

AVDD_PLL
AVSS_PLL
AVDD_TV
AVSS_TV
AVDD_RTC

Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Ground of drivers except memory
interface, USB and MS/MMC/SD
Supply voltage for PLL
Ground for PLL supply
Supply voltage for TV out
Ground for TV out
Supply voltage for Real Time Clock

fo
r

F10

A13
D11

AVSS_BUF
AVDD_AFE

A11

AGND_AFE

E10
E9

AVSS_AFE
AGND_RFE

E8

C7

AVSS_GSMR
FTX
AVDD_GSM
RFTX
AVSS_RFE

A7

AVDD_RFE

D7

Supply Voltage for Audio band
section
GND for Audio band section
Supply voltage for voice band
transmit section
GND for voice band transmit section
Supply voltage for voice band receive
section
GND reference voltage for voice
band section
GND for voice band receive section
GND reference voltage for baseband
section, APC, AFC and AUXADC
GND for baseband transmit section
Supply voltage for baseband transmit
section
GND for baseband receive section,
APC, AFC and AUXADC
Supply voltage for baseband receive
section, APC, AFC and AUXADC

Co
nf
id
en
tia
l

D14
B13

AVDD_MBU
F
AVSS_MBUF
AVDD_BUF

Re
lea
se

Analog Supplies
C15

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MT
K

Table 2 Pin Descriptions (Bolded types are functions at reset)

30/616

MediaTek Inc. Confidential

IO Supply

VSS33
VDD33
VSS33
VDD33
VSS33
VDD33
VDDK
VSS33
VDD33
VSS33
VDD33
VSS33
CMRST
CMPDN
CMVREF
CMHREF
CMPCLK
CMMCLK
VDD33
CMDAT9
CMDAT8
CMDAT7
CMDAT6
CMDAT5
VSS33
CMDAT4
CMDAT3
CMDAT2
CMDAT1
CMDAT0
VDD33
AVDD_TV
TVOUT
FSRES
AVSS_TV
AVDD_PLL
SYSCLK
PLLOUT
AVSS_PLL
AVDD_RTC
XOUT
XIN
BBWAKEUP
VSS33
TESTMODE
VDDK
JTRST#
JTCK

MT
K

A16
E15
E14
E13
E12
E11
F11
F10
F9
E7
E6
D5
J12
K12
H12
H11
H9
H10
D4
H8
J8
K8
L8
M8
A3
M9
M10
M11
M12
L12
B3
B2
A2
C2
C3
A1
B1
F6
C1
D3
D2
D1
E1
E2
E5
E3
E4
F5

Name

IO GND

Core Supply

Core GND

Remark

Typ. 2.8V
Typ. 2.8V

fo
r

13X13

Typ. 2.8V
Typ. 1.2V

Typ. 2.8V

Typ. 2.8V

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33

VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33

Re
lea
se

Ball

Power Description

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK

VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK

Typ. 2.8V

Co
nf
id
en
tia
l

2.5

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Typ. 2.8V
Typ. 2.8V

AVDD_TV
AVDD_TV

AVSS_TV
AVSS_TV

AVDD_TV
AVDD_TV

AVSS_TV
AVSS_TV

AVDD_PLL
AVDD_PLL

AVSS_PLL
AVSS_PLL

AVDD_PLL
AVDD_PLL

AVSS_PLL
AVSS_PLL

Typ. 2.8V

Typ. 1.2V

AVDD_RTC
AVDD_RTC
AVDD_RTC

VSS33
VSS33
VSS33

AVDD_RTC
AVDD_RTC
AVDD_RTC

VSS33
VSS33
VSS33

VDD33

VSS33

VDDK

VSSK

VDD33
VDD33

VSS33
VSS33

VDDK
VDDK

VSSK
VSSK

Typ. 1.2V

31/616

MediaTek Inc. Confidential

F4
F3
F2
F1
G5
G4
G2
G3
G1
J6
H5
H4
H3
H2
H1
J5
J4
J3
J2
J1
K5
K4
K3
K2
K1
K6
L5
L4
L3
L2
L1
L6
M5
M4
M1
M2
M3
N5
N4
N3
N2
N1
P5
P4
P3
P2
P1
R1

JTDI
JTMS
JTDO
JRTCK
BPI_BUS0
BPI_BUS1
VDD33
BPI_BUS2
BPI_BUS3
BPI_BUS4
BPI_BUS5
BPI_BUS6
BPI_BUS7
BPI_BUS8
VSS33
BPI_BUS9
BSI_CS0
BSI_DATA
BSI_CLK
LSCK
LSA0
LSDA
LSCE0#
LSCE1#
VDD33
LPCE1#
LPCE0#
LRST#
LRD#
LPA0
LWR#
NLD7
NLD6
NLD5
VSS33
VDDK
NLD4
NLD3
NLD2
NLD1
NLD0
NRNB
NCLE
NALE
NWE#
NRE#
NCE#
VDD33

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

R4

PWM1

VDD33

VSS33

VDDK

VSSK

R3

PWM2

VDD33

VSS33

VDDK

VSSK

R2

ALERTER

VDD33

VSS33

VDDK

VSSK

T4

SRCLKENA

VDD33

VSS33

VDDK

VSSK

Re
lea
se

fo
r

Typ. 2.8V

Typ. 2.8V

Co
nf
id
en
tia
l

MT
K

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Typ. 1.2V

Typ. 2.8V

32/616

MediaTek Inc. Confidential

SRCLKENAN

VDD33

VSS33

VDDK

VSSK

T3

SRCLKENAI

VDD33

VSS33

VDDK

VSSK

T2

SYSRST#

VDD33

VSS33

VDDK

VSSK

U3

GPIO0

VDD33

VSS33

VDDK

VSSK

U1

GPIO1

VDD33

VSS33

VDDK

VSSK

U2

EINT0

VDD33

VSS33

VDDK

VSSK

V1

EINT1

VDD33

VSS33

VDDK

VSSK

W1

EINT2

VDD33

VSS33

VDDK

VSSK

V2

EINT3

VDD33

VSS33

VDDK

VSSK

W2

VSS33

V3

VDD33_EMI

U4

MIRQ

VDD33_EMI

VSS33_EMI

VDDK

VSSK

W3
V4
W4
W5
V5
U5
T5
R5
V6
W6
U6
T6
R6
W7
V7
U7
T7
R7
P8
W8
V8
U8
T8
R8
V9
W9
U9
T9
R9
V10
W10
U10
T10
R10
P10
W11
V11
U11
T11
R11

EA25
EA24
EA23
VSS33_EMI
EA22
EA21
EA20
EA19
VDD33_EMI
EA18
EA17
EA16
VSS33_EMI
EA15
EA14
EA13
VDD33_EMI
EA12
EA11
EA10
VDDK
VSS33_EMI
EA9
EA8
EA7
VDD33_EMI
EA6
EA5
EA4
VSS33_EMI
EA3
EA2
EA1
VDD33_EMI
EA0
EADV#
ECLK
VSS33_EMI
EPDN#
ECS3#

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

Re
lea
se

Typ. 1.8/2.8V

Typ. 1.8/2.8V

Co
nf
id
en
tia
l

MT
K

Ko
nk
a

T1

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Typ. 1.8/2.8V

Typ. 1.2V

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI

VDDK
VDDK

VSSK
VSSK

Typ. 1.8/2.8V

Typ. 1.8/2.8V

33/616

MediaTek Inc. Confidential

P11
W12
V12
U12
T12
R12
P12
W13
V13
U13
T13

ECS2#
VDD33_EMI
ECS1#
ECS0#
EWR#
VSS33_EMI
ERD#
EUB#
ELB#
VDD33_EMI
EDCLK

VDD33_EMI

VSS33_EMI

VDDK

VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI

VSS33_EMI

VDDK

VSSK

R13
W14
V14
U14
T14
R14
W15
V15
U15
T15
V16
W16
U16
T16
W17
V17
U17
W18
W19
V18
V19
U18
U19
T17
T18
T19
R15
R16
R17
R18
R19
P16
N16
P17
P18
P19
N17
N18
N19
M16
M17
M18

ECKE
ERAS#
VDDK
VSS33_EMI
ECAS#
EWAIT
ED15
VDD33_EMI
ED14
ED13
ED12
VSS33_EMI
ED11
ED10
ED9
VDD33_EMI
ED8
ED7
ED6
VSS33_EMI
ED5
ED4
ED3
VDD33_EMI
ED2
ED1
ED0
WATCHDOG
VSS33_EMI
USB_DP
USB_DM
VDD33_AUX2
VDD33_AUX1
MCCM0
MCDA0
MCDA1
MCDA2
MCDA3
MCPWRON
MCWP
MCINS
MCCK

VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI

VDDK
VDDK

VSSK
VSSK

Typ. 1.8/2.8V

fo
r

Typ. 1.8/2.8V

Typ. 1.2V

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK

VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK

VSSK
VSSK
VSSK

VDD33_EMI
VDD33_EMI
VDD33_EMI
VDD33_EMI

VSS33_EMI
VSS33_EMI
VSS33_EMI
VSS33_EMI

VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK

VDD33_AUX2
VDD33_AUX2

VSS33
VSS33

VDDK
VDDK

VSSK
VSSK

Re
lea
se

VDD33_EMI
VDD33_EMI
VDD33_EMI

Typ. 1.8/2.8V

Typ. 1.8/2.8V

Co
nf
id
en
tia
l

MT
K

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1
VDD33_AUX1

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

34/616

1.2V

Typ. 1.8/2.8V

Typ. 3.3V
Typ. 3.3V
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

MediaTek Inc. Confidential

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

Ko
nk
a

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

Re
lea
se

Typ. 2.8V

Co
nf
id
en
tia
l

VSS33
SIMRST
SIMCLK
SIMVCC
SIMSEL
SIMDATA
URXD1
UTXD1
UCTS1
URTS1
URXD2
UTXD2
URXD3
UTXD3
VDD33
IRDA_RXD
IRDA_TXD
IRDA_PDN
KCOL6
KCOL5
KCOL4
KCOL3
KCOL2
KCOL1
KCOL0
KROW5
KROW4
KROW3
KROW2
VDDK
VSS33
KROW1
KROW0
DAICLK
DAIPCMOUT
DAIPCMIN
DAIRST
DAISYNC
GPIO2
GPIO3
GPIO4
VDD33
GPIO5
GPIO6
GPIO7
MFIQ
GPIO8
GPIO9
VSS33
AVDD_MBUF
AU_MOUTL
AU_MOUTR
AVSS_MBUF

MT
K

L15
M19
L16
L17
L18
L19
K15
K16
K17
K18
K19
J15
J16
J17
J18
J19
H15
H16
H17
H18
H19
G15
G16
G17
G18
G19
F15
F16
F17
F18
F19
E16
E17
E18
E19
D16
D19
D18
D17
C19
C18
B19
C17
A19
B18
B17
A18
A17
B16
C15
B15
A15
D14

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Typ. 1.2V

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

VDD33
VDD33
VDD33
VDD33
VDD33
VDD33

VSS33
VSS33
VSS33
VSS33
VSS33
VSS33

VDDK
VDDK
VDDK
VDDK
VDDK
VDDK

VSSK
VSSK
VSSK
VSSK
VSSK
VSSK

Typ. 2.8V

Typ. 2.8V

35/616

MediaTek Inc. Confidential

fo
r

Typ. 2.8V

Typ. 2.8V

Re
lea
se

AU_M_BYP
AU_FMINL
AU_FMINR
AU_OUT1_P
AU_OUT1_N
AU_OUT0_N
AVDD_BUF
AU_OUT0_P
AVSS_BUF
AU_MICBIAS_P
AU_MICBIAS_N
AVDD_AFE
AU_VREF_N
AU_VREF_P
AGND_AFE
AU_VIN0_P
AU_VIN0_N
AU_VIN1_N
AU_VIN1_P
AVSS_AFE
BDLAQP
BDLAQN
AGND_RFE
BDLAIN
BDLAIP
AVSS_GSMRFTX
BUPAIP
BUPAIN
AVDD_GSMRFTX
BUPAQN
BUPAQP
AVSS_RFE
APC
AVDD_RFE
AUXADIN0
AUXADIN1
AUXADIN2
AUXADIN3
AUXADIN4
AUXADIN5
AUXADIN6
AUX_REF
AFC
AFC_BYP

Co
nf
id
en
tia
l

C14
B14
A14
D13
C13
B12
B13
A12
A13
C12
D12
D11
C11
B11
A11
D10
C10
B10
A10
E10
D9
C9
E9
A9
B9
E8
B8
A8
D7
C8
D8
C7
B7
A7
D6
C6
B6
A6
C5
B5
A5
C4
B4
A4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Typ. 2.8V

Typ. 2.8V

MT
K

Table 3 Power Descriptions

36/616

MediaTek Inc. Confidential

3

Micro-Controller Unit Subsystem

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

Figure 5 illustrates the block diagram of the Micro-Controller Unit Subsystem in MT6228. The subsystem utilizes a
main 32-bit ARM7EJ-S RISC processor, which plays the role of the main bus master controlling the whole subsystem.
All processor transactions go to code cache first. The code cache controller accesses TCM (128KB memory dedicated
to ARM7EJS core), cache memory, or bus according to the processor’s request address. If the requested content is
found in TCM or in cache, no bus transaction is required. If the code cache hit rate is high enough, bus traffic can be
effectively reduced and processor core performance maximized. In addition to the benefits of reuse of memory
contents, code cache also has a MPU (Memory Protection Unit), which allows cacheable and protection settings of
predefined regions. The contents of code cache are only accessible to MCU, and only MCU instructions are kept in
the cache memory (thus the name “code” cache).

Re
lea
se

The bus comprises of two-level system buses: Advanced High-Performance Bus (AHB) and Advanced Peripheral Bus
(APB). All bus transactions originate from bus masters, while slaves can only respond to requests from bus masters.
Before data transfer can be established, the bus master must ask for bus ownership, accomplished by request-grant
handshaking protocol between masters and arbiters.
Two levels of bus hierarchy are designed to provide optimum usage for different performance requirements.
Specifically, AHB Bus, the main system bus, is tailored toward high-speed requirements and provides 32-bit data path
with multiplex scheme for bus interconnections. The APB Bus, on the other hand, is designed to reduce interface
complexity for lower data transfer rate, and so it is isolated from high bandwidth AHB Bus by APB Bridge. APB Bus
supports 16-bit addressing and both 16-bit and 32-bit data paths. APB Bus is also optimized for minimal power
consumption by turning off the clock when there is no APB bus activity.

Co
nf
id
en
tia
l

During operation, if the target slave is located on AHB Bus, the transaction is conducted directly on AHB Bus.
However, if the target slave is a peripheral and is attached to the APB bus, then the transaction is conducted between
AHB and APB bus through the use of APB Bridge.
The MT6228 MCU subsystem supports only memory addressing method. Therefore all components are mapped onto
the MCU 32-bit address space. A Memory Management Unit is employed to allow for a central decode scheme.
The MMU generates appropriate selection signals for each memory-addressed module on the AHB Bus.
In order to off-load the processor core, a DMA Controller is designated to act as a master and share the bus resources
on AHB Bus to perform fast data movement between modules. This controller provides fourteen DMA channels.
The Interrupt Controller provides a software interface to manipulate interrupt events; it can handle up to 32 interrupt
sources asserted at the same time. In general, the controller generates 2 levels of interrupt requests, FIQ and IRQ, to
the processor.
A 128K Byte SRAM is provided as system memory for high-speed data access. For factory programming purposes, a
Boot ROM module is also integrated. These two modules use the same Internal Memory Controller to connect to
AHB Bus.

MT
K

External Memory Interface supports both 8-bit and 16-bit devices. This interface supports both synchronous and
asynchronous components, such as Flash, SRAM and parallel LCD. This interface supports page and burst mode type
of Flash, Cellular RAM, as well as high performance MobileRAM. In order to take advantages of burst- or page-type
devices, a data cache is introduced and placed between AHB Bus and EMI, allowing the data cache to issue burst
requests to EMI whenever possible. Since AHB Bus is 32-bit wide, all data transfers are converted into several 8-bit
or 16-bit cycles depending on the data width of the target device. In contrast to code cache, contents in data cache are
queried when MCU issues data requests, or when other AHB bus masters issue memory requests to EMI.

37/616

MediaTek Inc. Confidential

System ROM

ARM7EJ-S

Interrupt
Controller

System RAM
Internal Memory
Controller

AHB Bus

data
cache

MCU-DSP
Interface

APB
Bridge

fo
r

External
Memory
Interface

code
cache

DMA
Controller

USB

Re
lea
se

Ext
Bus

Arbiter

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

APB Bus

Peripheral

Peripheral

Figure 5 Block Diagram of the Micro-Controller Unit Subsystem in MT6228

3.1.1

Processor Core
General Description

Co
nf
id
en
tia
l

3.1

The Micro-Controller Unit Subsystem in MT6228 uses the 32-bit ARM7EJ-S RISC processor that is based on the Von
Neumann architecture with a single 32-bit data bus carrying both instructions and data. The memory interface of
ARM7EJ-S is totally compliant with the AMBA based bus system, which allows direct connection to the AHB Bus.

3.2
3.2.1

Memory Management
General Description

MT
K

The processor core of MT6228 supports only a memory addressing method for instruction fetch and data access. The
core manages a 32-bit address space that has addressing capability of up to 4 GB. System RAM, System ROM,
Registers, MCU Peripherals and external components are all mapped onto such 32-bit address space, as depicted in
Figure 6.

38/616

MediaTek Inc. Confidential

MCU 32-bit
Addressing
Space

Reserved

AFFF_FFFh
|
A000_0000h

Reserved

9000_0000h

LCD

8FFF_FFFFh
|
8000_0000h
7FFF_FFFFh
|
7000_0000h

APB Peripherals
7800_0000h

Virtual FIFO

7000_0000h

USB

fo
r

9800_0000h

Re
lea
se

9FFF_FFFh
|
9000_0000h

TCM

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MCU-DSP Interface

4FFF_FFFFh
|
4000_0000h

Internal Memory

3FFF_FFFFh
|
0000_0000h

External Memroy

Co
nf
id
en
tia
l

6FFF_FFFFh
|
5000_0000h

EA[25:0]
Addressing
Space

Figure 6 The Memory Layout of MT6228

The address space is organized into blocks of 256 MB each. Memory blocks 0-AFFFFFFFh are defined and currently
dedicated to specific functions, while the others are reserved for future usage. The block number is uniquely selected
by address line A31-A28 of the internal system bus.

3.2.1.1

External Access

To allow external access, the MT6228 outputs 26 bits (A25-A0) of address lines along with 4 selection signals that
correspond to associated memory blocks. That is, MT6228 can support up to 4 MCU addressable external
components. The data width of internal system bus is fixed at 32-bit wide, while the data width of the external
components can be either 8- or 16- bit.

MT
K

Since devices are usually available with varied operating grades, adaptive configurations for different applications are
needed. MT6228 provides software programmable registers to configure their wait-states to adapt to different
operating conditions.

3.2.1.2

Memory Re-mapping Mechanism

To permit more flexible system configuration, a memory re-mapping mechanism is provided. The mechanism allows
software program to swap BANK0 (ECS0#) and BANK1 (ECS1#) dynamically. Whenever the bit value of RM0 in

39/616

MediaTek Inc. Confidential

register EMI_REMAP is changed, these two banks are swapped accordingly.
from System ROM as detailed in 3.2.1.3 Boot Sequence.

3.2.1.3

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Furthermore, it allows system to boot

Boot Sequence

Since the ARM7EJ-S core always starts to fetch instructions from the lowest memory address at 00000000h after
system has been reset, the system is designed to have a dynamic mapping architecture capable of associating Boot Code,
external Flash or external SRAM with the memory block 0000_0000h – 07ff_ffffh.

fo
r

By default, the Boot Code is mapped onto 0000_0000h – 07ff_ffffh after a system reset. In this special boot mode,
External Memory Controller does not access external memory; instead, the EMI Controller send predefined Boot Code
back to the ARM7EJS-S core, which instructs the processor to execute the program in System ROM. This
configuration can be changed by programming bit value of RM1 in register EMI_REMAP directly.
MT6228 system provides one boot up scheme:

Re
lea
se

Start up system of running codes from Boot Code for factory programming or NAND flash boot.
Boot Code

The Boot Code is placed together with Memory Re-Mapping Mechanism in External Memory Controller, and
comprises of just two words of instructions as shown below. A jump instruction leads the processor to run the code
starting at address 48000000h where the System ROM is placed.
ADDRESS
00000000h
00000004h

BINARY CODE
E51FF004h
48000000h

ASSEMBLY
LDR PC, 0x4
(DATA)

Factory Programming

Co
nf
id
en
tia
l

The configuration for factory programming is shown in Figure 7. Usually the Factory Programming Host connects
with MT6228 via the UART interface. The download speed can be up to 921K bps while MCU is running at 26MHz.
After the system has reset, the Boot Code guides the processor to run the Factory Programming software placed in
System ROM. Then, MT6228 starts and polls the UART1 port until valid information is detected. The first
information received on the UART1 is used to configure the chip for factory programming. The Flash downloader
program is then transferred into System RAM or external SRAM.
Further information is detailed in the MT6228 Software Programming Specification.

UART

MT6228

Factory
Programming
Host

MT
K

External
Memory
Interface

FLASH

Figure 7 System configuration required for factory programming

40/616

MediaTek Inc. Confidential

NAND Flash Booting

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

If MT6228 cannot receive data from UART1 for a certain amount of time, the program in System ROM checks if any
valid boot loader exists in NAND flash. If found, the boot loader code is copied from NAND flash to RAM (internal
or external) and executed to start the real application software. If no valid boot loader can be found in NAND flash,
MT6228 starts executing code in EMI bank0 memory. The whole boot sequence is shown in the following figure.

fo
r

Boot from
System ROM

Y

Receive
from UART

N

Re
lea
se

Check UART
input

Valid loader
on NAND

N

Boot from
EMI bank 0

Y

Factory
programming

Copy loader from
NAND to RAM

Boot from
loader in RAM

3.2.1.4

Co
nf
id
en
tia
l

Figure 8 Boot sequence

Little Endian Mode

The MT6228 system always treats 32-bit words of memory in Little Endian format. In Little Endian mode, the lowest
numbered byte in a word is stored in the least significant position, and the highest numbered byte in the most
significant position. Byte 0 of the memory system is therefore connected to data lines 7 through 0.

3.3
3.3.1

Bus System

General Description

Two levels of bus hierarchy are employed in the Micro-Controller Unit Subsystem of MT6228. As depicted in Figure
5, AHB Bus and APB Bus serve as system backbone and peripheral buses, while an APB bridge connects these two
buses. Both AHB and APB Buses operate at the same or half the clock rate of processor core.

MT
K

The APB Bridge is the only bus master residing on the APB bus. All APB slaves are mapped onto memory block
MB8 in the MCU 32-bit addressing space. A central address decoder is implemented inside the bridge to generate
select signals for individual peripherals. In addition, since the base address of each APB slave is associated with
select signals, the address bus on APB contains only the value of offset address.
The maximum address space that can be allocated to a single APB slave is 64 KB, i.e. 16-bit address lines. The width
of the data bus is mainly constrained to 16 bits to minimize the design complexity and power consumption while some
use 32-bit data buses to accommodate more bandwidth. In the case where an APB slave needs large amount of

41/616

MediaTek Inc. Confidential

transfers, the device driver can also request DMA channels to conduct a burst of data transfer.
data width of each peripheral are listed in Table 4.
Data
Width

Revision 1.0

The base address and

Description

Software Base ID

8000_0000h

Configuration Registers
(Clock, Power Down, Version and Reset)

16

CONFG Base

8001_0000h

External Memory Interface

32

EMI Base

8002_0000h

Interrupt Controller

32

CIRQ Base

8003_0000h

DMA Controller

32

DMA Base

8004_0000h

Reset Generation Unit

16

RGU Base

8005_0000h

Data cache controller

32

DATACACHE Base

8006_0000h

GPRS Cipher Unit

32

GCU Base

32

SWDBG Base

32

NFI Base

16

SCCB Base

16

GPT Base

16

KP Base

fo
r

Base Address

Software Debug
Reserved

8009_0000h

NAND Flash Interface

800a_0000h

Serial Camera Control Bus

8010_0000h

General Purpose Timer

8011_0000h

Keypad Scanner

8012_0000h

General Purpose Inputs/Outputs

16

GPIO Base

8013_0000h

UART 1

16

UART1 Base

8014_0000h

SIM Interface

16

SIM Base

8015_0000h

Pulse-Width Modulation Outputs

16

PWM Base

8016_0000h

Alerter Interface

16

ALTER Base

Co
nf
id
en
tia
l

Re
lea
se

8007_0000h
8008_0000h

8017_0000h

Cipher Hash Engine

32

CHE Base

8018_0000h

UART 2

16

UART2 Base

8019_0000h

PPP Framer

32

PFC Base

801a_0000h

IrDA

16

IRDA Base

801b_0000h

UART 3

16

UART3 Base

801c_0000h

Base-Band to PMIC Serial Interface

16

B2PSI Base

8020_0000h

TDMA Timer

32

TDMA Base

8021_0000h

Real Time Clock

16

RTC Base

8022_0000h

Base-Band Serial Interface

32

BSI Base

8023_0000h

Base-Band Parallel Interface

16

BPI Base

8024_0000h

Automatic Frequency Control Unit

16

AFC Base

8025_0000h

Automatic Power Control Unit

32

APC Base

8026_0000h

Frame Check Sequence

16

FCS Base

8027_0000h

Auxiliary ADC Unit

16

AUXADC Base

8028_0000h

Divider/Modulus Coprocessor

32

DIVIDER Base

8029_0000h

CSD Format Conversion Coprocessor

32

CSD_ACC Base

802a_0000h

MS/SD Controller

32

MSDC Base

8030_0000h

MCU-DSP Shared Register

16

SHARE Base

8031_0000h

DSP Patch Unit

16

PATCH Base

MT
K

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

42/616

MediaTek Inc. Confidential

Audio Front End

16

AFE Base

Base-Band Front End

16

BFE Base

8050_0000h

Analog Chip Interface Controller

16

MIXED Base

8060_0000h

JPEG Decoder

32

JPEG Base

8061_0000h

Post Processing Resizer

32

PRZ Base

8062_0000h

Camera Interface

32

CAM Base

8063_0000h

Image Engine

32

IMG Base

8064_0000h

PNG Decoder

32

PNGDEC Base

8065_0000h

GIF Decoder

32

GIFDEC Base

fo
r

8040_0000h
8041_0000h

2D Command Queue

32

GCMQ Base

2D Accelerator

32

G2D Base

8068_0000h

MPEG4 Codec

32

MP4 Base

8069_0000h

Image DMA

32

IMGDMA Base

806a_0000h

Capture Resizer
Drop Resizer

806c_0000h

TV Encoder

806d_0000h

TV Controller

Re
lea
se

8066_0000h
8067_0000h

806b_0000h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

806e_0000h

Graphics Memory Controller

8070_0000h

Code cache controller and MPU

32

CRZ Base

32

DRZ Base

32

TVENC Base

32

TVCON Base

32

GMC Base

32

CODECAHE Base

Table 4 Register Base Addresses for MCU Peripherals
REGISTER ADDRESS REGISTER NAME

SYNONYM

Hardware Version Register

HW_VER

CONFG + 0004h

Software Version Register

SW_VER

CONFG + 0008h

Hardware Code Register

HW_CODE

CONFG + 0404h

APB Bus Control Register

APB_CON

Co
nf
id
en
tia
l

CONFG + 0000h

Table 5 APB Bridge Register Map

3.3.2

Register Definitions

CONFG+0000
Hardware Version Register
h
Bit
Name
Type
Reset

15

14
13
EXTP
RO
8

12

11

10
9
MAJREV
RO
A

8

7

HW_VERSION
6

5
RO
0

4
3
MINREV

2

1

0

RO
0

This register is used by software to determine the hardware version of the chip. The register contains a new value
whenever each metal fix or major step is performed. All values are incremented by a step of 1.

MT
K

MINREV
Minor Revision of the chip
MAJREV Major Revision of the chip
EXTP This field shows the existence of Hardware Code Register that presents the Hardware ID while the value is
other than zero.

43/616

MediaTek Inc. Confidential

CONFG+0004
Software Version Register
h
Bit
Name
Type
Reset

15

14
13
EXTP
RO
8

12

11

10
9
MAJREV
RO
A

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

SW_VERSION
8

7

6

5

4
3
MINREV

RO
0

1

0

RO
0

All values are incremented by

fo
r

This register is used by software to determine the software version used with this chip.
a step of 1.

2

CONFG+0008
Hardware Code Register
h
Bit
Name
Type
Reset

15

14
13
CODE3
RO
6

12

11

10
9
CODE2
RO
2

8

This register presents the Hardware ID.
CODE This version of chip is coded as 6228h.

CONFG+0400
APB Bus Control Register
h
Name
Type
Reset

15

14
APB
W6
R/W
0

13

12
APB
W4
R/W
0

11
APB
W3
R/W
0

10
APB
W2
R/W
0

9
APB
W1
R/W
0

8
APB
W0
R/W
0

7

7

6
5
CODE1
RO
2

6
APBR
6
R/W
1

Co
nf
id
en
tia
l

Bit

Re
lea
se

MINREV
Minor Revision of the Software
MAJREV Major Revision of the Software
EXTP This field shows the existence of Software Code Register that presents the Software ID when the value is other
than zero.

5

4

3

HW_CODE
2
1
CODE0
RO
8

0

APB_CON

4
3
2
1
0
APBR APBR APBR APBR APBR
4
3
2
1
0
R/W R/W R/W R/W R/W
1
1
1
1
1

This register is used to control the timing of Read Cycle and Write Cycle on APB Bus. Note that APB Bridge 5 is
different from other bridges: the access time is varied, and access is not complete until an acknowledge signal from
APB slave is asserted.

MT
K

APBR0-APBR6 Read Access Time on APB Bus
0 1-Cycle Access
1 2-Cycle Access
APBW0-APBW6
Write Access Time on APB Bus
0 1-Cycle Access
1 2-Cycle Access

44/616

MediaTek Inc. Confidential

3.4
3.4.1

Direct Memory Access
General Description

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

A generic DMA Controller is placed on Layer 2 AHB Bus to support fast data transfers and to off-load the processor.
With this controller, specific devices on AHB or APB buses can benefit greatly from quick completion of data
movement from or to memory modules such as Internal System RAM or External SRAM. Such Generic DMA
Controller can also be used to connect any two devices other than memory module as long as they can be addressed in
memory space.

Figure 9 Variety Data Paths of DMA Transfers

MT
K

Co
nf
id
en
tia
l

Up to fourteen channels of simultaneous data transfers are supported. Each channel has a similar set of registers to be
configured to different scheme as desired. If more than fourteen devices are requesting the DMA resources at the
same time, software based arbitration should be employed. Once the service candidate is decided, the responsible
device driver should configure the Generic DMA Controller properly in order to conduct DMA transfers. Both
Interrupt and Polling based schemes in handling the completion event are supported. The block diagram of such
generic DMA Controller is illustrated in Figure 10.

Figure 10 Block Diagram of Direct memory Access Module

45/616

MediaTek Inc. Confidential

3.4.1.1

Full-Size & Half-Size DMA Channels

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3.4.1.2

Ring Buffer & Double Buffer Memory Data Movement

fo
r

There are three types of DMA channels in the DMA controller. The first one is called a full-size DMA channel, the
second one is called a half-size DMA channel, and the last is Virtual FIFO DMA. Channels 1 through 3 are full-size
DMA channels; channels 4 through 10 are half-size ones; and channels 11 through 14 are Virtual FIFO DMAs. The
difference between the first two types of DMA channels is that both source and destination address are programmable
in full-size DMA channels, but only the address of one side can be programmed in half-size DMA channel. In
half-size channels, only either the source or destination address can be programmed, while the addresses of the other
side is preset. Which preset address is used depends on the setting of MAS in DMA Channel Control Register.
Refer to the Register Definition section for more detail.

Co
nf
id
en
tia
l

Re
lea
se

DMA channels 1 through 10 support ring-buffer and double-buffer memory data movement. This can be achieved by
programming DMA_WPPT and DMA_WPTO, as well as setting WPEN in DMA_CON register to enable. Figure 11
illustrates how this function works. Once the transfer counter reaches the value of WPPT, the next address jumps to
the WPTO address after completing the WPPT data transfer. Note that only one side can be configured as ring-buffer
or double-buffer memory, and this is controlled by WPSD in DMA_CON register.

Figure 11 Ring Buffer and Double Buffer Memory Data Movement

3.4.1.3

Unaligned Word Access

The address of word access on AHB bus must be aligned to word boundary, or the 2 LSB is truncated to 00b. If
programmers do not notice this, it may cause an incorrect data fetch. In the case where data is to be moved from
unaligned addresses to aligned addresses, the word is usually first split into four bytes and then moved byte by byte.
This results in four read and four write transfers on the bus.

MT
K

To improve bus efficiency, unaligned-word access is provided in DMA4~10. While this function is enabled, DMAs
move data from unaligned address to aligned address by executing four continuous byte-read access and one
word-write access, reducing the number of transfers on the bus by three.

46/616

MediaTek Inc. Confidential

Figure 12 Unaligned Word Accesses

Virtual FIFO DMA

Ko
nk
a

Re
lea
se

3.4.1.4

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Virtual FIFO DMA is used to ease UART control. The difference between the Virtual FIFO DMAs and the ordinary
DMAs is that Virtual FIFO DMA contains additional FIFO controller. The read and write pointers are kept in the
Virtual FIFO DMA. During a read from the FIFO, the read pointer points to the address of the next data. During a
write to the FIFO, the write pointer moves to the next address. If the FIFO is empty, a FIFO read is not allowed.
Similarly, data is not written into the FIFO if the FIFO is full. Due to UART flow control requirements, an alert
length is programmed. Once the FIFO Space is less than this value, an alert signal is issued to enable UART flow
control. The type of flow control performed depends on the setting in UART.

Co
nf
id
en
tia
l

Each Virtual FIFO DMA can be programmed as RX or TX FIFO. This depends on the setting of DIR in DMA_CON
register. If DIR is “0”(READ), it means TX FIFO. On the other hand, if DIR is “1”(WRITE), the Virtual FIFO
DMA is specified as a RX FIFO.
Virtual FIFO DMA provides an interrupt to MCU. This interrupt informs MCU that there is data in the FIFO, and the
amount of data is over or under the value defined in DMA_COUNT register. With this, MCU does not need to poll
DMA to know when data must be removed from or put into the FIFO.

MT
K

Note that Virtual FIFO DMAs cannot be used as generic DMAs, i.e. DMA1~10.

Figure 13 Virtual FIFO DMA
DMA number

Address of Virtual FIFO Access Port

Associated UART

DMA11

7800_0000h

UART1 RX / ALL UART TX

47/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DMA12

7800_0100h

UART2 RX / ALL UART TX

DMA13

7800_0200h

UART3 RX / ALL UART TX

DMA14

7800_0300h

ALL UART TX

Table 6 Virtual FIFO Access Port

DMA1

Full Size

DMA2

Full Size

DMA3

Full Size

DMA4

Half Size

DMA5

Half Size

DMA6

Half Size

DMA7

Half Size

DMA8

Half Size

DMA9

Half Size

DMA10

Half Size

DMA11

Virtual FIFO

DMA12

Virtual FIFO

DMA13

Virtual FIFO

DMA14

Virtual FIFO

Ring Buffer Two Buffer

Burst Mode

Unaligned Word
Access

fo
r

Type

Re
lea
se

DMA number

Table 7 Function List of DMA channels

Co
nf
id
en
tia
l

REGISTER ADDRESS REGISTER NAME

SYNONYM

DMA + 0000h

DMA Global Status Register

DMA_GLBSTA

DMA + 0028h

DMA Global Bandwidth Limiter Register

DMA_GLBLIMITER

DMA + 0100h

DMA Channel 1 Source Address Register

DMA1_SRC

DMA + 0104h

DMA Channel 1 Destination Address Register

DMA1_DST

DMA + 0108h

DMA Channel 1 Wrap Point Address Register

DMA1_WPPT

DMA + 010Ch

DMA Channel 1 Wrap To Address Register

DMA1_WPTO

DMA + 0110h

DMA Channel 1 Transfer Count Register

DMA1_COUNT

DMA + 0114h

DMA Channel 1 Control Register

DMA1_CON

DMA + 0118h

DMA Channel 1 Start Register

DMA1_START

DMA + 011Ch

DMA Channel 1 Interrupt Status Register

DMA1_INTSTA

DMA + 0120h

DMA Channel 1 Interrupt Acknowledge Register

DMA1_ACKINT

DMA Channel 1 Remaining Length of Current Transfer

DMA1_RLCT

DMA Channel 1 Bandwidth Limiter Register

DMA1_LIMITER

DMA + 0200h

DMA Channel 2 Source Address Register

DMA2_SRC

DMA + 0204h

DMA Channel 2 Destination Address Register

DMA2_DST

MT
K

DMA + 0124h
DMA + 0128h

DMA + 0208h

DMA Channel 2 Wrap Point Address Register

DMA2_WPPT

DMA + 020Ch

DMA Channel 2 Wrap To Address Register

DMA2_WPTO

DMA + 0210h

DMA Channel 2 Transfer Count Register

DMA2_COUNT

DMA + 0214h

DMA Channel 2 Control Register

DMA2_CON

48/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DMA Channel 2 Start Register

DMA2_START

DMA Channel 2 Interrupt Status Register

DMA2_INTSTA

DMA + 0220h

DMA Channel 2 Interrupt Acknowledge Register

DMA2_ACKINT

DMA + 0224h

DMA Channel 2 Remaining Length of Current Transfer

DMA2_RLCT

DMA + 0228h

DMA Channel 2 Bandwidth Limiter Register

DMA2_LIMITER

DMA + 0300h

DMA Channel 3 Source Address Register

DMA3_SRC

DMA + 0304h

DMA Channel 3 Destination Address Register

DMA3_DST

DMA + 0308h

DMA Channel 3 Wrap Point Address Register

DMA3_WPPT

DMA + 030Ch

DMA Channel 3 Wrap To Address Register

DMA3_WPTO

DMA + 0310h

DMA Channel 3 Transfer Count Register

DMA3_COUNT

DMA + 0314h

DMA Channel 3 Control Register

DMA3_CON

DMA + 0318h

DMA Channel 3 Start Register

DMA3_START

DMA + 031Ch

DMA Channel 3 Interrupt Status Register

DMA3_INTSTA

DMA + 0320h

DMA Channel 3 Interrupt Acknowledge Register

DMA3_ACKINT

DMA + 0324h

DMA Channel 3 Remaining Length of Current Transfer

DMA3_RLCT

DMA + 0328h

DMA Channel 3 Bandwidth Limiter Register

DMA3_LIMITER

DMA + 0408h

DMA Channel 4 Wrap Point Address Register

DMA4_WPPT

DMA + 040Ch

DMA Channel 4 Wrap To Address Register

DMA4_WPTO

DMA + 0410h

DMA Channel 4 Transfer Count Register

DMA4_COUNT

DMA + 0414h

DMA Channel 4 Control Register

DMA4_CON

DMA + 0418h

DMA Channel 4 Start Register

DMA4_START

DMA + 041Ch

DMA Channel 4 Interrupt Status Register

DMA4_INTSTA

DMA + 0420h

DMA Channel 4 Interrupt Acknowledge Register

DMA4_ACKINT

Co
nf
id
en
tia
l

Re
lea
se

fo
r

DMA + 0218h
DMA + 021Ch

DMA + 0424h

DMA Channel 4 Remaining Length of Current Transfer

DMA4_RLCT

DMA + 0428h

DMA Channel 4 Bandwidth Limiter Register

DMA4_LIMITER

DMA + 042Ch

DMA Channel 4 Programmable Address Register

DMA4_PGMADDR

DMA + 0508h

DMA Channel 5 Wrap Point Address Register

DMA5_WPPT

DMA + 050Ch

DMA Channel 5 Wrap To Address Register

DMA5_WPTO

DMA + 0510h

DMA Channel 5 Transfer Count Register

DMA5_COUNT

DMA + 0514h

DMA Channel 5 Control Register

DMA5_CON

DMA + 0518h

DMA Channel 5 Start Register

DMA5_START

DMA + 051Ch

DMA Channel 5 Interrupt Status Register

DMA5_INTSTA

DMA + 0520h

DMA Channel 5 Interrupt Acknowledge Register

DMA5_ACKINT

DMA Channel 5 Remaining Length of Current Transfer

DMA5_RLCT

DMA Channel 5 Bandwidth Limiter Register

DMA5_LIMITER

DMA + 052Ch

DMA Channel 5 Programmable Address Register

DMA5_PGMADDR

DMA + 0608h

DMA Channel 6 Wrap Point Address Register

DMA6_WPPT

DMA + 060Ch

DMA Channel 6 Wrap To Address Register

DMA6_WPTO

DMA + 0610h

DMA Channel 6 Transfer Count Register

DMA6_COUNT

DMA + 0614h

DMA Channel 6 Control Register

DMA6_CON

DMA + 0618h

DMA Channel 6 Start Register

DMA6_START

DMA + 061Ch

DMA Channel 6 Interrupt Status Register

DMA6_INTSTA

MT
K

DMA + 0524h
DMA + 0528h

49/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DMA Channel 6 Interrupt Acknowledge Register

DMA6_ACKINT

DMA + 0624h

DMA Channel 6 Remaining Length of Current Transfer

DMA6_RLCT

DMA + 0628h

DMA Channel 6 Bandwidth Limiter Register

DMA6_LIMITER

DMA + 062Ch

DMA Channel 6 Programmable Address Register

DMA6_PGMADDR

DMA + 0708h

DMA Channel 7 Wrap Point Address Register

DMA7_WPPT

DMA + 070Ch

DMA Channel 7 Wrap To Address Register

DMA7_WPTO

DMA + 0710h

DMA Channel 7 Transfer Count Register

DMA7_COUNT

DMA + 0714h

DMA Channel 7 Control Register

DMA7_CON

DMA + 0718h

DMA Channel 7 Start Register

DMA7_START

DMA + 071Ch

DMA Channel 7 Interrupt Status Register

DMA7_INTSTA

DMA + 0720h

DMA Channel 7 Interrupt Acknowledge Register

DMA7_ACKINT

DMA + 0724h

DMA Channel 7 Remaining Length of Current Transfer

DMA7_RLCT

DMA + 0728h

DMA Channel 7 Bandwidth Limiter Register

DMA7_LIMITER

Re
lea
se

fo
r

DMA + 0620h

DMA + 072Ch

DMA Channel 7 Programmable Address Register

DMA7_PGMADDR

DMA + 0808h

DMA Channel 8 Wrap Point Address Register

DMA8_WPPT

DMA + 080Ch

DMA Channel 8 Wrap To Address Register

DMA8_WPTO

DMA + 0810h

DMA Channel 8 Transfer Count Register

DMA8_COUNT

DMA + 0814h

DMA Channel 8 Control Register

DMA8_CON

DMA + 0818h

DMA Channel 8 Start Register

DMA8_START

DMA + 081Ch

DMA Channel 8 Interrupt Status Register

DMA8_INTSTA

DMA + 0820h

DMA Channel 8 Interrupt Acknowledge Register

DMA8_ACKINT

DMA Channel 8 Remaining Length of Current Transfer

DMA8_RLCT

DMA Channel 8 Bandwidth Limiter Register

DMA8_LIMITER

Co
nf
id
en
tia
l

DMA + 0824h
DMA + 0828h
DMA + 082Ch

DMA Channel 8 Programmable Address Register

DMA8_PGMADDR

DMA + 0908h

DMA Channel 9 Wrap Point Address Register

DMA9_WPPT

DMA + 090Ch

DMA Channel 9 Wrap To Address Register

DMA9_WPTO

DMA + 0910h

DMA Channel 9 Transfer Count Register

DMA9_COUNT

DMA + 0914h

DMA Channel 9 Control Register

DMA9_CON

DMA + 0918h

DMA Channel 9 Start Register

DMA9_START

DMA + 091Ch

DMA Channel 9 Interrupt Status Register

DMA9_INTSTA

DMA + 0920h

DMA Channel 9 Interrupt Acknowledge Register

DMA9_ACKINT

DMA + 0924h

DMA Channel 9 Remaining Length of Current Transfer

DMA9_RLCT

DMA + 0928h

DMA Channel 9 Bandwidth Limiter Register

DMA9_LIMITER

DMA Channel 9 Programmable Address Register

DMA9_PGMADDR

DMA Channel 10 Wrap Point Address Register

DMA10_WPPT

DMA + 0A0Ch

DMA Channel 10 Wrap To Address Register

DMA10_WPTO

DMA + 0A10h

DMA Channel 10 Transfer Count Register

DMA10_COUNT

DMA + 0A14h

DMA Channel 10 Control Register

DMA10_CON

DMA + 0A18h

DMA Channel 10 Start Register

DMA10_START

DMA + 0A1Ch

DMA Channel 10 Interrupt Status Register

DMA10_INTSTA

DMA + 0A20h

DMA Channel 10 Interrupt Acknowledge Register

DMA10_ACKINT

DMA + 0A24h

DMA Channel 10 Remaining Length of Current
Transfer

DMA10_RLCT

MT
K

DMA + 092Ch

DMA + 0A08h

50/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DMA + 0A28h

DMA Channel 10 Bandwidth Limiter Register

DMA10_LIMITER

DMA + 0A2Ch

DMA Channel 10 Programmable Address Register

DMA10_PGMADDR

DMA + 0B10h

DMA Channel 11 Transfer Count Register

DMA11_COUNT

DMA + 0B14h

DMA Channel 11 Control Register

DMA11_CON

DMA + 0B18h

DMA Channel 11 Start Register

DMA11_START

DMA Channel 11 Interrupt Status Register

DMA11_INTSTA

DMA + 0B20h

DMA Channel 11 Interrupt Acknowledge Register

DMA11_ACKINT

DMA + 0B28h

DMA Channel 11 Bandwidth Limiter Register

DMA11_LIMITER

DMA + 0B2Ch

DMA Channel 11 Programmable Address Register

DMA11_PGMADDR

DMA + 0B30h

DMA Channel 11 Write Pointer

DMA11_WRPTR

DMA + 0B34h

DMA Channel 11 Read Pointer

DMA11_RDPTR

DMA + 0B38h

DMA Channel 11 FIFO Count

DMA11_FFCNT

DMA + 0B3Ch

DMA Channel 11 FIFO Status

DMA11_FFSTA

Re
lea
se

fo
r

DMA + 0B1Ch

DMA + 0B40h

DMA Channel 11 Alert Length

DMA11_ALTLEN

DMA + 0B44h

DMA Channel 11 FIFO Size

DMA11_FFSIZE

DMA + 0C10h

DMA Channel 12 Transfer Count Register

DMA12_COUNT

DMA + 0C14h

DMA Channel 12 Control Register

DMA12_CON

DMA + 0C18h

DMA Channel 12 Start Register

DMA12_START

DMA + 0C1Ch

DMA Channel 12 Interrupt Status Register

DMA12_INTSTA

DMA + 0C20h

DMA Channel 12 Interrupt Acknowledge Register

DMA12_ACKINT

DMA + 0C28h

DMA Channel 12 Bandwidth Limiter Register

DMA12_LIMITER

DMA Channel 12 Programmable Address Register

DMA12_PGMADDR

DMA + 0C30h

DMA Channel 12 Write Pointer

DMA12_WRPTR

Co
nf
id
en
tia
l

DMA + 0C2Ch
DMA + 0C34h

DMA Channel 12 Read Pointer

DMA12_RDPTR

DMA + 0C38h

DMA Channel 12 FIFO Count

DMA12_FFCNT

DMA + 0C3Ch

DMA Channel 12 FIFO Status

DMA12_FFSTA

DMA + 0C40h

DMA Channel 12 Alert Length

DMA12_ALTLEN

DMA + 0C44h

DMA Channel 12 FIFO Size

DMA12_FFSIZE

DMA + 0D10h

DMA Channel 13 Transfer Count Register

DMA13_COUNT

DMA + 0D14h

DMA Channel 13 Control Register

DMA13_CON

DMA + 0D18h

DMA Channel 13 Start Register

DMA13_START

DMA + 0D1Ch

DMA Channel 13 Interrupt Status Register

DMA13_INTSTA

DMA + 0D20h

DMA Channel 13 Interrupt Acknowledge Register

DMA13_ACKINT

DMA + 0D28h

DMA Channel 13 Bandwidth Limiter Register

DMA13_LIMITER

DMA + 0D2Ch

DMA Channel 13 Programmable Address Register

DMA13_PGMADDR

DMA + 0D30h

DMA Channel 13 Write Pointer

DMA13_WRPTR

DMA + 0D34h

DMA Channel 13 Read Pointer

DMA13_RDPTR

DMA Channel 13 FIFO Count

DMA13_FFCNT

DMA Channel 13 FIFO Status

DMA13_FFSTA

DMA + 0D40h

DMA Channel 13 Alert Length

DMA13_ALTLEN

DMA + 0D44h

DMA Channel 13 FIFO Size

DMA13_FFSIZE

DMA + 0E10h

DMA Channel 14 Transfer Count Register

DMA14_COUNT

MT
K

DMA + 0D38h
DMA + 0D3Ch

51/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DMA + 0E14h

DMA Channel 14 Control Register

DMA14_CON

DMA + 0E18h

DMA Channel 14 Start Register

DMA14_START

DMA + 0E1Ch

DMA Channel 14 Interrupt Status Register

DMA14_INTSTA

DMA + 0E20h

DMA Channel 14 Interrupt Acknowledge Register

DMA14_ACKINT

DMA + 0E28h

DMA Channel 14 Bandwidth Limiter Register

DMA14_LIMITER

DMA Channel 14 Programmable Address Register

DMA14_PGMADDR

DMA + 0E30h

DMA Channel 14 Write Pointer

DMA14_WRPTR

DMA + 0E34h

DMA Channel 14 Read Pointer

DMA14_RDPTR

DMA + 0E38h

DMA Channel 14 FIFO Count

DMA14_FFCNT

fo
r

DMA + 0E2Ch

DMA Channel 14 FIFO Status

DMA14_FFSTA

DMA + 0E40h

DMA Channel 14 Alert Length

DMA14_ALTLEN

DMA + 0E44h

DMA Channel 14 FIFO Size

DMA14_FFSIZE

Re
lea
se

DMA + 0E3Ch

Table 8 DMA Controller Register Map

3.4.2

Register Definitions

Register programming tips:

Start registers shall be cleared, when associated channels are being programmed.

PGMADDR, i.e. programmable address, only exists in half-size DMA channels. If DIR in Control Register
is high, PGMADDR represents Destination Address. Conversely, If DIR in Control Register is low,
PGMADDR represents Source Address.

DMA+0000h
Bit

31

Name
Type
Reset
Bit
Name
Type
Reset

15
IT8
RO
0

30

Co
nf
id
en
tia
l

Functions of ring-buffer and double-buffer memory data movement can be activated on either source side or
destination side by programming DMA_WPPT & and DMA_WPTO, as well as setting WPEN in DMA_CON
register high. WPSD in DMA_CON register determines the activated side.

14
RUN8
RO
0

DMA Global Status Register
29

13
IT7
RO
0

28

27

DMA_GLBSTA

26
25
24
23
22
21
20
19
18
RUN1
RUN1
RUN1
RUN1
RUN1
IT14
IT13
IT12
IT11
IT10
4
3
2
1
0
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0
0
0
12
11
10
9
8
7
6
5
4
3
2
RUN7 IT6 RUN6 IT5 RUN5 IT4 RUN4 IT3 RUN3 IT2 RUN2
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0
0
0
0

17

16

IT9

RUN9

RO
0
1
IT1
RO
0

RO
0
0
RUN1
RO
0

This register helps software program keep track of the global status of DMA channels.

MT
K

RUNN DMA channel n status
0 Channel n is stopped or has completed the transfer already.
1 Channel n is currently running.
ITN
Interrupt status for channel n
0 No interrupt is generated.
1 An interrupt is pending and waiting for service.

52/616

MediaTek Inc. Confidential

DMA+0028h

DMA_GLBLIMIT
ER

DMA Global Bandwidth limiter Register

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

20

19

4
3
GLBLIMITER
WO
0

Please refer to the expression in DMAn_LIMITER for detailed note.
DMA_GLBLIMITER is set to all DMA channels, from 1 to 14.

2

17

16

1

0

The value of

DMA Channel n Source Address Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Re
lea
se

DMA+0n00h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

18

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

24
23
SRC[31:16]
R/W
0
8
7
SRC[15:0]
R/W
0

DMAn_SRC

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

The above registers contain the base or current source address that the DMA channel is currently operating on.
Writing to this register specifies the base address of transfer source for a DMA channel. Before programming these
registers, the software program should make sure that STR in DMAn_START is set to 0; that is, the DMA channel is
stopped and disabled completely. Otherwise, the DMA channel may run out of order. Reading this register returns
the address value from which the DMA is reading.
Note that n is from 1 to 3.
SRC

SRC[31:0] specifies the base or current address of transfer source for a DMA channel, i.e. channel 1, 2 or 3.
WRITE Base address of transfer source
READ Address from which DMA is reading

DMA+0n04h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

DMA Channel n Destination Address Register
29

28

27

26

25

13

12

11

10

9

24
23
DST[31:16]
R/W
0
8
7
DST[15:0]
R/W
0

DMAn_DST

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MT
K

The above registers contain the base or current destination address that the DMA channel is currently operating on..
Writing to this register specifies the base address of the transfer destination for a DMA channel. Before programming
these registers, the software should make sure that STR in DMAn_START is set to ‘0’; that is, the DMA channel is
stopped and disabled completely. Otherwise, the DMA channel may run out of order. Reading this register returns
the address value to which the DMA is writing.
Note that n is from 1 to 3.

53/616

MediaTek Inc. Confidential

DST[31:0] specifies the base or current address of transfer destination for a DMA channel, i.e. channel 1, 2 or
3.
WRITE Base address of transfer destination.
READ Address to which DMA is writing.

DMA+0n08h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

DMA Channel n Wrap Point Count Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24

23

8
7
WPPT[15:0]
R/W
0

DMAn_WPPT

22

21

20

6

5

4

19

18

17

fo
r

DST

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

2

1

16

0

Re
lea
se

The above registers are to specify the transfer count required to perform before the jump point. This can be used to
support ring buffer or double buffer style memory accesses. To enable this function, two control bits, WPEN and
WPSD, in DMA control register must be programmed. See the following register description for more details. If the
transfercounter in the DMA engine matches this value, an address jump occurs, and the next address is the address
specified in DMAn_WPTO. Before programming these registers, the software should make sure that STR in
DMAn_START is set to ‘0’, that is the DMA channel is stopped and disabled completely. Otherwise, the DMA
channel may run out of order. To enable this function, WPEN in DMA_CON is set.
Note that n is from 1 to 10.

DMA+0n0Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Co
nf
id
en
tia
l

WPPT WPPT[15:0] specifies the amount of the transfer count from start to jumping point for a DMA channel, i.e.
channel 1 – 10.
WRITE Address of the jump point.
READ Value set by the programmer.

DMA Channel n Wrap To Address Register
29

28

27

26

25

13

12

11

10

9

24
23
WPTO[31:16]
R/W
0
8
7
WPTO[15:0]
R/W
0

DMAn_WPTO

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The above registers specify the address of the jump destination of a given DMA transfer to support ring buffer or
double buffer style memory accesses. To enable this function, set the two control bits, WPEN and WPSD, in the
DMA control register . See the following register description for more details. Before programming these registers,
the software should make sure that STR in DMAn_START is set to ‘0’, that is the DMA channel is stopped and
disabled completely. Otherwise, the DMA channel may run out of order. To enable this function, WPEN in
DMA_CON should be set.
Note that n is from 1 to 10.

MT
K

WPTO WPTO[31:0] specifies the address of the jump point for a DMA channel, i.e.
WRITE Address of the jump destination.
READ Value set by the programmer.

DMA+0n10h
Bit

31

30

channel 1 – 10.

DMA Channel n Transfer Count Register
29

28

27

26

25

24

23

54/616

22

DMAn_COUNT
21

20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

6

5

4

3

Revision 1.0

2

LEN
R/W
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

fo
r

This register specifies the amount of total transfer count that the DMA channel is required to perform. Upon
completion, the DMA channel generates an interrupt request to the processor while ITEN in DMAn_CON is set as ‘1’.
Note that the total size of data being transferred by a DMA channel is determined by LEN together with the SIZE in
DMAn_CON, i.e. LEN x SIZE.

Note that n is from 1 to 14.
LEN

The amount of total transfer count

DMA+0n14h
Bit

31

30

Re
lea
se

For virtual FIFO DMA, this register is used to configure the RX threshold and TX threshold. Interrupt is triggered
while FIFO count >= RX threshold in RX path or FIFO count =< TX threshold in TX path. Note that ITEN bit in
DMA_CON register shall be set, or no interrupt is issued.

DMA Channel n Control Register
29

28

27

26

25

24

Name

23

22

MAS

14

13

12

11

10

9
BURST
R/W
0

8

7

R/W
0
6

20

19

DMAn_CON
18
DIR

R/W
0
5
4
3
2
B2W DRQ DINC SINC
R/W R/W R/W R/W
0
0
0
0

17

16
WPS
WPEN
D
R/W R/W
0
0
1
0
SIZE
R/W
0

Co
nf
id
en
tia
l

Type
Reset
Bit
15
Name ITEN
Type R/W
Reset
0

21

This register contains all the available control schemes for a DMA channel that is ready for software programmer to
configure. Note that all these fields cannot be changed while DMA transfer is in progress or an unexpected situation
may occur.
Note that n is from 1 to 14.
SIZE

SINC

MT
K

DINC

Data size within the confine of a bus cycle per transfer.
These bits confines the data transfer size between source and destination to the specified value for individual
bus cycle. The size is in terms of byte and has maximum value of 4 bytes. It is mainly decided by the data
width of a DMA master.
00 Byte transfer/1 byte
01 Half-word transfer/2 bytes
10 Word transfer/4 bytes
11 Reserved
Incremental source address. Source addresses increase every transfer. If the setting of SIZE is Byte, Source
addresses increase by 1 every single transfer. If Half-Word, increase by 2; and if Word, increase by 4.
0 Disable
1 Enable
Incremental destination address. Destination addresses increase every transfer. If the setting of SIZE is
Byte, Destination addresses increase by 1 every single transfer. If Half-Word, increase by 2; and Iif Word,
increase by 4.
0 Disable
1 Enable

55/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

DREQ Throttle and handshake control for DMA transfer
0 No throttle control during DMA transfer or transfers occurred only between memories
1 Hardware handshake management
The DMA master is able to throttle down the transfer rate by way of request-grant handshake.
B2W Word to Byte or Byte to Word transfer for the applications of transferring non-word-aligned-address data to
word-aligned-address data. Note that BURST is set to 4-beat burst while enabling this function, and the
SIZE is set to Byte.
NO effect on channel 1 – 3 & 11 - 14.
0 Disable
1 Enable
BURST Transfer Type. Burst-type transfers have better bus efficiency. Mass data movement is recommended to
use this kind of transfer. However, note that burst-type transfer does not stop until all of the beats in a burst
are completed or transfer length is reached. FIFO threshold of peripherals must be configured carefully
while being used to move data from/to the peripherals.
What transfer type can be used is restricted by the SIZE. If SIZE is 00b, i.e. byte transfer, all of the four
transfer types can be used. If SIZE is 01b, i.e. half-word transfer, 16-beat incrementing burst cannot be used.
If SIZE is 10b, i.e. byte transfer, only single and 4-beat incrementing burst can be used.
NO effect on channel 11 - 14.
000 Single
001 Reserved
010 4-beat incrementing burst
011 Reserved
100 8-beat incrementing burst
101 Reserved
110 16-beat incrementing burst
111 Reserved
ITEN DMA transfer completion interrupt enable.
0 Disable
1 Enable
WPSD The side using address-wrapping function. Only one side of a DMA channel can activate address-wrapping
function at a time.
NO effect on channel 11 - 14.
0 Address-wrapping on source .
1 Address-wrapping on destination.
WPEN Address-wrapping for ring buffer. The next address of DMA jumps to WRAP TO address when the current
address matches WRAP POINT count.
NO effect on channel 11 - 14.
0 Disable
1 Enable
DIR
Directions of DMA transfer for half-size and Virtual FIFO DMA channels, i.e. channels 4~14. The direction
is from the perspective of the DMA masters. WRITE means read from master and then write to the address
specified in DMA_PGMADDR, and vice versa.
NO effect on channel 1 - 3.
0 Read
1 Write

56/616

MediaTek Inc. Confidential

Master selection. Specifies which master occupies this DMA channel. Once assigned to certain master, the
corresponding DREQ and DACK are connected. For half-size and Virtual FIFO DMA channels, i.e.
channels 4 ~ 14, a predefined address is assigned as well.
00000 SIM
00001 MSDC
00010 IrDA TX
00011 IrDA RX
00100 USB1 Write
00101 USB1 Read
00110 USB2 Write
00111 USB2 Read
01000 UART1 TX
01001 UART1 RX
01010 UART2 TX
01011 UART2 RX
01100 UART3 TX
01101 UART3 RX
01110 DSP-DMA
01111 NFI TX
10000 NFI RX
OTHERS
Reserved

Bit
31
Name
Type
Reset
Bit
15
Name STR
Type R/W
Reset
0

30

14

DMA Channel n Start Register
29

28

27

26

25

24

23

Co
nf
id
en
tia
l

DMA+0n18h

Re
lea
se

fo
r

MAS

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

13

12

11

10

9

8

7

DMAn_START

22

21

20

19

18

17

16

6

5

4

3

2

1

0

This register controls the activity of a DMA channel. Note that prior to setting STR to “1”, all the configurations
should be done by giving proper value to the registers. Note also that once the STR is set to “1”, the hardware does
not clear it automatically no matter if the DMA channel accomplishes the DMA transfer or not. In other works, the
value of STR stays “1” regardless of the completion of DMA transfer. Therefore, the software program should be
sure to clear STR to “0” before restarting another DMA transfer.
Note that n is from 1 to 14.
STR

Start control for a DMA channel.
0 The DMA channel is stopped.
1 The DMA channel is started and running.

DMA+0n1Ch
30

29

MT
K

Bit
31
Name
Type
Reset
Bit
15
Name INT
Type RO
Reset
0

DMA Channel n Interrupt Status Register

14

13

DMAn_INTSTA

28

27

26

25

24

23

22

21

20

19

18

17

16

12

11

10

9

8

7

6

5

4

3

2

1

0

57/616

MediaTek Inc. Confidential

This register shows the interrupt status of a DMA channel.

Revision 1.0

It has the same value as DMA_GLBSTA.

Note that n is from 1 to 14.
Interrupt Status for DMA Channel
0 No interrupt request is generated.
1 One interrupt request is pending and waiting for service.

Bit
31
Name
Type
Reset
Bit
15
Name ACK
Type WO
Reset
0

DMA Channel n Interrupt Acknowledge Register

30

29

28

27

26

25

24

23

22

21

20

14

13

12

11

10

9

8

7

6

5

4

DMAn_ACKINT
19

18

17

16

3

2

1

0

fo
r

DMA+0n20h

Re
lea
se

INT

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register is used to acknowledge the current interrupt request associated with the completion event of a DMA
channel by software program. Note that this is a write-only register, and any read to it returns a value of “0”.
Note that n is from 1 to 14.

Interrupt acknowledge for the DMA channel
0 No effect
1 Interrupt request is acknowledged and should be relinquished.

DMA+0n24h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

DMA Channel n Remaining Length of Current
Transfer

DMAn_RLCT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
RLCT
RO
0

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

ACK

This register is to reflect the left amount of the transfer.
Note that n is from 1 to 10.

DMA+0n28h
31

30

15

14

DMAn_LIMITER

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4
3
LIMITER
R/W
0

2

1

0

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

DMA Bandwidth limiter Register

This register is to suppress the Bus utilization of the DMA channel. The value is from 0 to 255. 0 means no
limitation, and 255 means totally banned. The value between 0 and 255 means certain DMA can have permission to
use AHB every (4 X n) AHB clock cycles.

58/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Note that it is not recommended to limit the Bus utilization of the DMA channels because this increases the latency of
response to the masters, and the transfer rate decreases as well. Before using it, programmer must make sure that the
bus masters have some protective mechanism to avoid entering the wrong states.
Note that n is from 1 to 14.

LIMITER from 0 to 255. 0 means no limitation, 255 means totally banned, and others mean Bus access permission
every (4 X n) AHB clock.

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
PGMADDR[31:16]
R/W
0
9
8
7
6
PGMADDR[15:0]
R/W
0

21

20

5

4

DMAn_PGMAD
DR

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

DMA Channel n Programmable Address Register

fo
r

DMA+0n2Ch

The above registers specify the address for a half-size DMA channel. This address represents a source address if DIR
in DMA_CON is set to 0, and represents a destination address if DIR in DMA_CON is set to 1. Before being able to
program these register, the software should make sure that STR in DMAn_START is set to ‘0’, that is the DMA channel
is stopped and disabled completely. Otherwise, the DMA channel may run out of order.
Note that n is from 4 to 14.

DMA+0n30h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Co
nf
id
en
tia
l

PGMADDR PGMADDR[31:0] specifies the addresses for a half-size or a Virtual FIFO DMA channel, i.e. channel 4 –
14.
WRITE Address of the jump destination.
READ Current address of the transfer.

DMA Channel n Virtual FIFO Write Pointer Register
29

28

27

26

13

12

11

10

25

24
23
22
WRPTR[31:16]
RO
9
8
7
6
WRPTR[15:0]
RO

DMAn_WRPTR

21

20

19

18

17

16

5

4

3

2

1

0

Note that n is from 11 to 14.
WRPTR

Virtual FIFO Write Pointer.

DMA+0n34h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

DMA Channel n Virtual FIFO Read Pointer Register
29

28

27

26

25

13

12

11

10

9

24
23
22
RDPTR[31:16]
RO
8
7
6
RDPTR[15:0]
RO

DMAn_RDPTR

21

20

19

18

17

16

5

4

3

2

1

0

MT
K

Note that n is from 11 to 14.
RDPTR Virtual FIFO Read Pointer.

59/616

MediaTek Inc. Confidential

DMA+0n38h
Bit
Name
Type
Bit
Name
Type

DMA Channel n Virtual FIFO Data Count Register

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

DMAn_FFCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
FFCNT
RO

6

5

4

3

2

17

16

1

0

FFCNT To display the number of data stored in FIFO.
FFSIZE.

Bit
Name
Type
Reset
Bit

0 means FIFO empty, and FIFO is full if FFCNT is equal to

DMA Channel n Virtual FIFO Status Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Name
Type
Reset

Note that n is from 11 to 14.
FULL

DMA+0n40h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

7

Co
nf
id
en
tia
l

To indicate FIFO is full.
0 Not Full
1 Full
EMPTY To indicate FIFO is empty.
0 Not Empty
1 Empty
ALT
To indicate FIFO Count is larger than ALTLEN.
control.
0 Not reach alert region.
1 Reach alert region.

23

22

21

DMAn_FFSTA

20

19

18

Re
lea
se

DMA+0n3Ch

fo
r

Note that n is from 11 to 14.

6

5

4

3

17

16

2

1
0
EMPT
ALT
FULL
Y
RO
RO
RO
0
1
0

DMA issues an alert signal to UART to enable UART flow

DMA Channel n Virtual FIFO Alert Length Register

DMAn_ALTLEN

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3
2
ALTLEN
R/W
0

1

0

Note that n is from 11 to 14.

MT
K

ALTLEN
Specifies the Alert Length of Virtual FIFO DMA. Once the remaining FIFO space is less than ALTLEN,
an alert signal is issued to UART to enable flow control. Normally, ALTLEN shall be larger than 16 for
UART application.

DMA+0n44h
Bit

31

30

DMA Channel n Virtual FIFO Size Register
29

28

27

26

25

24

23

60/616

22

21

DMAn_FFSIZE
20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8
7
FFSIZE
R/W
0

6

5

4

3

Note that n is from 11 to 14.

Revision 1.0

2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

3.5
3.5.1

fo
r

FFSIZE Specifies the FIFO Size of Virtual FIFO DMA.

Interrupt Controller
General Description

Re
lea
se

Figure 14 outlines the major functionality of the MCU Interrupt Controller. The interrupt controller processes all
interrupt sources coming from external lines and internal MCU peripherals. Since ARM7EJ-S core supports two
levels of interrupt latency, this controller generates two request signals: FIQ for fast, low latency interrupt request and
IRQ for more general interrupts with lower priority.

EINT
TDMA
GPT

Interrupt
Input
Multiplex

IRQ
Controller

IRQ

IRQ1
IRQ2

Co
nf
id
en
tia
l
KP

FIQ

IRQ0

SIM
UART1

FIQ
Controller

RTC

UART2
DSP2MCU

IRQn

IRQ31

SoftIRQ

APB Bus

Registers

Figure 15 Block Diagram of the Interrupt Controller

MT
K

One and only one of the interrupt sources can be assigned to FIQ Controller and have the highest priority in requesting
timing critical service. All the others share the same IRQ signal by connecting them to IRQ Controller. The IRQ
Controller manages up 32 interrupt lines of IRQ0 to IRQ31 with fixed priority in descending order.
The Interrupt Controller provides a simple software interface by mean of registers to manipulate the interrupt request
shared system. IRQ Selection Registers and FIQ Selection Register determine the source priority and connecting
relation among sources and interrupt lines. IRQ Source Status Register allows software program to identify the source
of interrupt that generates the interrupt request. IRQ Mask Register provides software to mask out undesired sources

61/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

some time. End of Interrupt Register permits software program to indicate to the controller that a certain interrupt
service routine has been finished.

Binary coded version of IRQ Source Status Register is also made available for software program to helpfully identify
the interrupt source. Note that while taking advantage of this, it should also take the binary coded version of End of
Interrupt Register coincidently.
The essential Interrupt Table of ARM7EJ-S core is shown as Table 9.
Description

00000000h

System Reset

00000018h

IRQ

0000001Ch

FIQ

fo
r

Address

Interrupt Source Masking

Re
lea
se

Table 10 Interrupt Table of ARM7EJ-S

Interrupt controller provides the function of Interrupt Source Masking by the way of programming MASK register.
Any of them can be masked individually.
However, because of the bus latency, the masking takes effect no earlier than 3 clock cycles later. In this time, the
to-be-masked interrupts could come in and generate an IRQ pulse to MCU, and then disappear immediately. This
IRQ forces MCU going to Interrupt Service Routine and polling Status Register (IRQ_STA or IRQ_STA2), but the
register shows there is no interrupt. This might cause MCU malfunction.
There are two ways for programmer to protect their software.

Return from ISR (Interrupt Service Routine) immediately while the Status register shows no interrupt.

2.

Set I bit of MCU before doing Interrupt Masking, and then clear it after Interrupt Masking done.

Co
nf
id
en
tia
l

1.

Both avoid the problem, but the first item recommended to have in the ISR.

External Interrupt

This interrupt controller also integrates an External Interrupt Controller that can support up to 4 interrupt requests
coming from external sources, the EINT0~3, and 4 WakeUp interrupt requests, i.e. EINT4~7, coming from peripherals
used to inform system to resume the system clock.
The four external interrupts can be used for different kind of applications, mainly for event detections: detection of
hand free connection, detection of hood opening, detection of battery charger connection.

MT
K

Since the external event may be unstable in a certain period, a de-bounce mechanism is introduced to ensure the
functionality. The circuitry is mainly used to verify that the input signal remains stable for a programmable number of
periods of the clock. When this condition is satisfied, for the appearance or the disappearance of the input, the output
of the de-bounce logic changes to the desired state. Note that, because it uses the 32 KHz slow clock for performing
the de-bounce process, the parameter of de-bounce period and de-bounce enable takes effect no sooner than one
32 KHz clock cycle (~31.25us) after the software program sets them. However, the polarities of EINTs are clocked
with the system clock. Any changes to them take effect immediately. Note also that this External Interrupt
Controller handles only level sensitive type of interrupt sources.

62/616

MediaTek Inc. Confidential

MT6219

EINT4-7

EINT2
EINT1
EINT0

Debounce Logic

Interrupt
Control
Logic

Debounce Logic

EINT_IRQ

Debounce Logic
Debounce Logic

Figure 16 Block Diagram of External Interrupt Controller
REGISTER ADDRESS REGISTER NAME
CIRQ + 0000h

IRQ Selection 0 Register

CIRQ + 0004h

IRQ Selection 1 Register
IRQ Selection 2 Register
IRQ Selection 3 Register

CIRQ + 0010h

IRQ Selection 4 Register

CIRQ + 0014h

IRQ Selection 5 Register

SYNONYM

IRQ_SEL0

IRQ_SEL1

IRQ_SEL2

IRQ_SEL3

IRQ_SEL4

IRQ_SEL5

Co
nf
id
en
tia
l

CIRQ + 0008h
CIRQ + 000Ch

APB Bus

Re
lea
se

Registers

fo
r

EINT3

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CIRQ + 0018h

IRQ Selection 6 Register

IRQ_SEL6

CIRQ + 001ch

IRQ Selection 7 Register

IRQ_SEL7

CIRQ + 0034h

FIQ Selection Register

FIQ_SEL

CIRQ + 0038h

IRQ Mask Register (LSB)

IRQ_MASKL

CIRQ + 003ch

IRQ Mask Register (MSB)

IRQ_MASKH

CIRQ + 0040h

IRQ Mask Clear Register (LSB)

IRQ_MASK_CLRL

CIRQ + 0044h

IRQ Mask Clear Register (MSB)

IRQ_MASK_CLRH

CIRQ + 0048h

IRQ Mask Set Register (LSB)

IRQ_MASK_SETL

CIRQ + 004ch

IRQ Mask Set Register (MSB)

IRQ_MASK_SETH

IRQ Status Register (LSB)

IRQ_STAL

IRQ Status Register (MSB)

IRQ_STAH

CIRQ + 0058h

IRQ End of Interrupt Register (LSB)

IRQ_EOIL

CIRQ + 005ch

IRQ End of Interrupt Register (MSB)

IRQ_EOIH

CIRQ + 0060h

IRQ Sensitive Register (LSB)

IRQ_SENSL

CIRQ + 0064h

IRQ Sensitive Register (MSB)

IRQ_SENSH

CIRQ + 0068h

IRQ Software Interrupt Register (LSB)

IRQ_SOFTL

CIRQ + 006ch

IRQ Software Interrupt Register (MSB)

IRQ_SOFTH

CIRQ + 0070h

FIQ Control Register

FIQ_CON

CIRQ + 0074h

FIQ End of Interrupt Register

FIQ_EOI

MT
K

CIRQ + 0050h
CIRQ + 0054h

63/616

MediaTek Inc. Confidential

c

31

30

29

28

15

14
13
IRQ11
R/W
11

12

CIRQ+0010h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

29

28

15

14
13
IRQ16
R/W
16

12

Bit
Name
Type
Reset
Bit
Name
Type
Reset

30

29

28

15

14
13
IRQ1B
R/W
1b

12

30

29

28

15

14
13
IRQ20
R/W
20

12

31

30

29

28

15

14
13
IRQ25
R/W
25

12

CIRQ+0020h
Bit

31

30

23

22

9
8
IRQ10
R/W
10

7

6

23

22

21
20
IRQ12
R/W
12
5
4

27
26
IRQ18
R/W
18
11
10

25

27
26
IRQ1D
R/W
1d
11
10

18

3
2
IRQF
R/W
f

27
26
IRQ22
R/W
22
11
10

24

9
8
IRQ1A
R/W
1a

25

27
26
IRQ27
R/W
27
11
10

7

6

23

22

7

6

21
20
IRQ17
R/W
17
5
4

19

21
20
IRQ1C
R/W
1c
5
4

18

3
2
IRQ14
R/W
14

19

IRQ_SEL5
18

3
2
IRQ19
R/W
19

23

22

9
8
IRQ1F
R/W
1f

7

6

21
20
IRQ21
R/W
21
5
4

19

18

3
2
IRQ1E
R/W
1e

28

27

26

24

23

22

9
8
IRQ24
R/W
24

7

6

25

17
16
IRQ1B
R/W
1b
1
0

17
16
IRQ20
R/W
20
1
0

IRQ_SEL7
21
20
IRQ26
R/W
26
5
4

19

18

3
2
IRQ23
R/W
23

IRQ Selection 8 Register
29

17
16
IRQ16
R/W
16
1
0

IRQ_SEL6

24

25

17
16
IRQ11
R/W
11
1
0

IRQ_SEL4

24

9
8
IRQ15
R/W
15

25

19

IRQ Selection 7 Register

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

24

IRQ Selection 6 Register

31

CIRQ+001ch

25

IRQ Selection 5 Register

31

CIRQ+0018h

27
26
IRQ13
R/W
13
11
10

IRQ_SEL3

IRQ Selection 4 Register

31

CIRQ+0014h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

IRQ Selection 3 Register

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

a

fo
r

CIRQ+000ch

b

Re
lea
se

Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

17
16
IRQ25
R/W
25
1
0

IRQ_SEL8
24

65/616

23

22

21

20

19

18

17

16

MediaTek Inc. Confidential

14

CIRQ+0034h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

12

11

10

9

8

7

6

5

4

3
2
IRQ28
R/W
28

FIQ Selection Register

1

0

FIQ_SEL

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

19

18

17

16

3

2

1

0

fo
r

15

FIQ
R/W
0

Re
lea
se

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The IRQ/FIQ Selection Registers provide system designers with a flexible routing scheme to make various mappings of
priority among interrupt sources possible. The registers allow the interrupt sources to be mapped onto interrupt
requests of either FIQ or IRQ. While only one interrupt source can be assigned to FIQ, the other ones share IRQs by
mapping them onto IRQ0 to IRQ1F connected to IRQ controller. The priority sequence of IRQ0~IRQ1F is fixed, i.e.
IRQ0 > IRQ1 > IRQ2 > … > IRQ1E > IRQ1F. During the software configuration process, the Interrupt Source Code
of desired interrupt source should be written into source field of the corresponding IRQ_SEL0-IRQ_SEL4/FIQ_SEL.
Five-bit Interrupt Source Codes for all interrupt sources are fixed and defined.
Interrupt Source

STA2 (Hex)

STAH_STAL

0

000_00000001

1

000_00000002

TDMA_CTIRQ2

2

000_00000004

DSP2CPU

3

000_00000008

MT
K

Co
nf
id
en
tia
l

GPI_FIQ
TDMA_CTIRQ1

SIM

4

000_00000010

DMA

5

000_00000020

TDMA

6

000_00000040

UART1

7

000_00000080

KeyPad

8

000_00000100

UART2

9

000_00000200

GPTimer

a

000_00000400

EINT

b

000_00000800

USB

c

000_00001000

MSDC

d

000_00002000

RTC

e

000_00004000

IrDA

f

000_00008000

LCD

10

000_00010000

UART3

11

000_00020000

GPI

12

000_00040000

WDT

13

000_00080000

SWDBG

14

000_00100000

CHE

15

000_00200000

66/616

MediaTek Inc. Confidential

16

000_00400000

B2PSI

17

000_00800000

Image DMA

18

000_01000000

GIF

19

000_02000000

1a

000_04000000

1b

000_08000000

G2D

1c

000_10000000

Image Porc

1d

000_20000000

CAM

1e

000_40000000

PFC

1f

000_80000000

MPEG4_DEC

20

001_00000000

MPEG4_ENC

21

002_00000000

JPEG_DEC

22

004_00000000

JPEG_ENC

23

008_00000000

Re
lea
se

PNG
SCCB

fo
r

NFI

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Resizer_crz

24

010_00000000

Resizer_drz

25

020_00000000

Resizer_prz

26

040_00000000

TVE

27

080_00000000

Table 12 Interrupt Source Code for Interrupt Sources
FIQ, IRQ0-26

The 5-bit content of this field corresponds to an Interrupt Source Code shown above.

CIRQ+0038h
31

30

Type R/W R/W
1
1
Reset
Bit
15
14
Name IRQF IRQE
Type R/W R/W
Reset
1
1

29
IRQ1
D
R/W
1
13
IRQD
R/W
1

CIRQ+003ch

IRQ Mask Register (MSB)

Name IRQ1F IRQ1E

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

28
IRQ1
C
R/W
1
12
IRQC
R/W
1

27
IRQ1
B
R/W
1
11
IRQB
R/W
1

26
IRQ1
A
R/W
1
10
IRQA
R/W
1

25

24

23

Co
nf
id
en
tia
l

Bit

IRQ Mask Register (LSB)

22

21

20

19

IRQ_MASKL
18

17

16

IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1
1
1
9
8
7
6
5
4
3
2
1
0
IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1
1
1

29

28

27

26

25

24

13

12

11

10

9

8

23

IRQ_MASKH
22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1

MT
K

This register contains a mask bit for each interrupt line in IRQ Controller. The register allows each interrupt source
IRQ0 to IRQ1F to be disabled or masked separately under software control. After a system reset, all bit values are set
to 1 to indicate that interrupt requests are prohibited.
IRQ0-27
0
1

Mask control for the associated interrupt source in the IRQ controller
Interrupt is enabled.
Interrupt is disabled.

67/616

MediaTek Inc. Confidential

31

30

Type W1C W1C
Bit
15
14
Name IRQF IRQE
Type W1C W1C

29
IRQ1
D
W1C
13
IRQD
W1C

CIRQ+0044h

IRQ Mask Clear Register (MSB)

Name IRQ1F IRQ1E

Bit
Name
Type
Bit
Name
Type

28
IRQ1
C
W1C
12
IRQC
W1C

27
IRQ1
B
W1C
11
IRQB
W1C

26
IRQ1
A
W1C
10
IRQA
W1C

25

24

23

22

21

20

19

18

17

16

IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
W1C W1C W1C W1C W1C W1C W1C W1C W1C W1C
9
8
7
6
5
4
3
2
1
0
IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
W1C W1C W1C W1C W1C W1C W1C W1C W1C W1C

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

IRQ_MASK_CL
RH

23

22

21

20

19

18

17

16

Re
lea
se

Bit

IRQ_MASK_CL
RL

IRQ Mask Clear Register (LSB)

fo
r

CIRQ+0040h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
W1C W1C W1C W1C W1C W1C W1C W1C

This register is used to clear bits in IRQ Mask Register. When writing to this register, the data bits that are HIGH
cause the corresponding bits in IRQ Mask Register to be cleared. Data bits that are LOW have no effect on the
corresponding bits in IRQ Mask Register.
Clear corresponding bits in IRQ Mask Register.
No effect.
Disable the corresponding MASK bit.

CIRQ+0048h
Bit

31

30

Type W1S W1S
Bit
15
14
Name IRQF IRQE
Type W1S W1S

29
IRQ1
D
W1S
13
IRQD
W1S

CIRQ+004ch

IRQ Mask SET Register (MSB)

Name IRQ1F IRQ1E

Bit
Name
Type
Bit
Name
Type

31

30

15

14

IRQ_MASK_SE
TL

IRQ Mask SET Register (LSB)

Co
nf
id
en
tia
l

IRQ0-27
0
1

28
IRQ1
C
W1S
12
IRQC
W1S

27
IRQ1
B
W1S
11
IRQB
W1S

26
IRQ1
A
W1S
10
IRQA
W1S

25

24

23

22

21

20

19

18

17

16

IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
W1S W1S W1S W1S W1S W1S W1S W1S W1S W1S
9
8
7
6
5
4
3
2
1
0
IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
W1S W1S W1S W1S W1S W1S W1S W1S W1S W1S

29

28

27

26

25

24

13

12

11

10

9

8

23

IRQ_MASK_SE
TH
22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
W1S W1S W1S W1S W1S W1S W1S W1S

MT
K

This register is used to set bits in the IRQ Mask Register. When writing to this register, the data bits that are HIGH
cause the corresponding bits in IRQ Mask Register to be set. Data bits that are LOW have no effect on the
corresponding bits in IRQ Mask Register.
IRQ0-27
0
1

Set corresponding bits in IRQ Mask Register.
No effect.
Enable corresponding MASK bit.

68/616

MediaTek Inc. Confidential

CIRQ+0050h

Type
Reset
Bit
Name
Type
Reset

30

29
28
27
26
25
24
23
22
21
20
19
18
17
16
IRQ1 IRQ1 IRQ1 IRQ1
IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
IRQ1F IRQ1E
D
C
B
A
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
IRQF IRQE IRQD IRQC IRQB IRQA IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

CIRQ+0054h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

IRQ SouROe Status Register (MSB)

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

fo
r

Name

31

IRQ_STAL

IRQ_STAH

22

21

20

19

18

17

16

Re
lea
se

Bit

IRQ Source Status Register (LSB)

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0

This Register allows software to poll which interrupt line has generated an IRQ interrupt request. A bit set to 1
indicates a corresponding active interrupt line. Only one flag is active at a time. The IRQ_STA is type of read-clear;
write access has no effect on the content.
Interrupt indicator for the associated interrupt source.
The associated interrupt source is non-active.
The associated interrupt source is asserted.

CIRQ+0058h
Bit

31

30

IRQ End of Interrupt Register (LSB)

Co
nf
id
en
tia
l

IRQ0-27
0
1

IRQ_EOIL

29
28
27
26
25
24
23
22
21
20
19
18
17
16
IRQ1 IRQ1 IRQ1 IRQ1
IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
D
C
B
A
Type WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset
Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Name IRQF IRQE IRQD IRQC IRQB IRQA IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
Type WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO WO
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Name IRQ1F IRQ1E

CIRQ+005ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

IRQ End of Interrupt Register (MSB)
29

28

27

26

25

24

13

12

11

10

9

8

23

IRQ_EOIH
22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
WO WO WO WO WO WO WO WO
0
0
0
0
0
0
0
0

MT
K

This register provides a mean for software to relinquish and to refresh the interrupt controller. Writing a 1 to a
specific bit position results in an End of Interrupt command issued internally to the corresponding interrupt line.
IRQ0-27
0
1

End of Interrupt command for the associated interrupt line.
No service is currently in progress or pending.
Interrupt request is in-service.
69/616

MediaTek Inc. Confidential

31

30

Type R/W R/W
0
0
Reset
Bit
15
14
Name IRQF IRQE
Type R/W R/W
0
0
Reset

29
IRQ1
D
R/W
0
13
IRQD
R/W
0

CIRQ+0064h

IRQ Sensitive Register (MSB)

Name IRQ1F IRQ1E

Bit
Name
Type
Reset
Bit
Name
Type
Reset

28
IRQ1
C
R/W
0
12
IRQC
R/W
0

27
IRQ1
B
R/W
0
11
IRQB
R/W
0

26
IRQ1
A
R/W
0
10
IRQA
R/W
0

25

24

IRQ_SENSL
23

22

21

20

19

18

17

16

IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
9
8
7
6
5
4
3
2
1
0
IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

IRQ_SENSH

23

22

21

20

19

18

17

16

Re
lea
se

Bit

IRQ Sensitive Register (LSB)

fo
r

CIRQ+0060h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0

IRQ0-27
0
1

Sensitivity type of the associated Interrupt Source
Edge sensitivity with active LOW
Level sensitivity with active LOW

CIRQ+0068h
Bit

31

Co
nf
id
en
tia
l

All interrupt lines of IRQ Controller, IRQ0~IRQ1F can be programmed as either edge or level sensitive. By default,
all the interrupt lines are edge sensitive and should be active LOW. Once a interrupt line is programmed as edge
sensitive, an interrupt request is triggered only at the falling edge of interrupt line, and the next interrupt is not accepted
until the EOI command is given. However, level sensitive interrupts trigger is according to the signal level of the
interrupt line. Once the interrupt line become from HIGH to LOW, an interrupt request is triggered, and another
interrupt request is triggered if the signal level remain LOW after an EOI command. Note that in edge sensitive mode,
even if the signal level remains LOW after EOI command, another interrupt request is not triggered. That is because
edge sensitive interrupt is only triggered at the falling edge.

30

IRQ Software Interrupt Register (LSB)

Type R/W R/W
Reset
0
0
Bit
15
14
Name IRQF IRQE
Type R/W R/W
Reset
0
0

29
IRQ1
D
R/W
0
13
IRQD
R/W
0

CIRQ+006ch

IRQ Software Interrupt Register (MSB)

Name IRQ1F IRQ1E

31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28
IRQ1
C
R/W
0
12
IRQC
R/W
0

27
IRQ1
B
R/W
0
11
IRQB
R/W
0

26
IRQ1
A
R/W
0
10
IRQA
R/W
0

25

24

23

22

IRQ_SOFTL
21

20

19

18

17

16

IRQ19 IRQ18 IRQ17 IRQ16 IRQ15 IRQ14 IRQ13 IRQ12 IRQ11 IRQ10
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
9
8
7
6
5
4
3
2
1
0
IRQ9 IRQ8 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0

28

27

26

25

24

12

11

10

9

8

23

22

IRQ_SOFTH
21

20

19

18

17

16

7
6
5
4
3
2
1
0
IRQ27 IRQ26 IRQ25 IRQ24 IRQ23 IRQ22 IRQ21 IRQ20
R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0

70/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Setting “1” to the specific bit position generates a software interrupt for corresponding interrupt line before mask.
This register is used for debug purpose.
IRQ0-IRQ27

Software Interrupt

CIRQ+0070h

FIQ_CON

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Name
Type
Reset

17

16

1

0
MAS
SENS
K
R/W R/W
0
1

fo
r

Bit
Name
Type
Reset
Bit

FIQ Control Register

MASK Mask control for the FIQ Interrupt Source
0 Interrupt is enabled.
1 Interrupt is disabled.
SENS Sensitivity type of the FIQ Interrupt Source
0 Edge sensitivity with active LOW
1 Level sensitivity with active LOW

CIRQ+0074h

FIQ End of Interrupt Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

FIQ_EOI

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0
EOI
WO
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

This register provides a means for software program to control the FIQ controller.

This register provides a means for software to relinquish and to refresh the FIQ controller. Writing a ‘1’ to the
specific bit position results in an End of Interrupt command issued internally to the corresponding interrupt line.
EOI

End of Interrupt command

CIRQ+0078h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Binary Coded Value of IRQ_STATUS

IRQ_STA2

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
NOIR
Q
RO
0

7

6

5

4

3

2

1

0

STS
RO
0

MT
K

This Register is a binary coded version of IRQ_STA. It is used by the software program to poll which interrupt line
has generated the IRQ interrupt request in a much easier way. Any read to it has the same result as reading IRQ_STA.
The IRQ_STA2 is also read-only; write access has no effect on the content. Note that IRQ_STA2 should be coupled
with IRQ_EOI2 while using it.
STS

Binary coded value of IRQ_STA

71/616

MediaTek Inc. Confidential

NOIRQ Indicating if there is an IRQ or not.

CIRQ+007ch

If there is no IRQ, this bit is HIGH, and the value of STS is 00_0000b.

Binary Coded Value of IRQ_EOI

IRQ_EOI2

31

30

29

28

27

26

25

24

23

22

21

20

19

15

14

13

12

11

10

9

8

7

6

5

4

3

18

2
EOI
WO
0

17

16

1

0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

EOI

Binary coded value of IRQ_EOI

CIRQ+0080h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

This register is a binary coded version of IRQ_EOI. It provides an easier way for software program to relinquish and
to refresh the interrupt controller. Writing a specific code results in an End of Interrupt command issued internally to
the corresponding interrupt line. Note that IRQ_EOI2 should be coupled with IRQ_STA2 while using it.

Binary Coded Value of IRQ_SOFT

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

This register is a binary coded version of IRQ_SOFT.

IRQ_SOFT2

23

22

21

20

19

18

17

16

7

6

5

4

3
2
SOFT
WO
0

1

0

CIRQ+0100h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Co
nf
id
en
tia
l

SOFT Binary Coded Value of IRQ_SOFT

EINT Interrupt Status Register
29

28

27

26

25

24

13

12

11

10

9

8

23

EINT_STA
22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0
RO
RO
RO
RO
RO
RO
RO
RO
0
0
0
0
0
0
0
0

This register keeps up with current status that which EINT Source generates the interrupt request.
set to edge sensitivity, EINT_IRQ is de-asserted while this register is read.

If EINT sources are

EINT0-EINT7 Interrupt status
0 No interrupt request is generated.
1 Interrupt request is pending.

CIRQ+0104h
31

30

EINT Interrupt Mask Register
29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28

27

26

25

24

12

11

10

9

8

23

EINT_MASK
22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0
R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1

72/616

MediaTek Inc. Confidential

This register controls whether or not EINT Source is allowed to generate an interrupt request.
to the specific bit position prohibits the external interrupt line from becoming active.
EINT0-EINT7 Interrupt Mask
0 Interrupt request is enabled.
1 Interrupt request is disabled.

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

21

20

fo
r

Bit
Name
Type
Bit
Name
Type

Setting a “1”

EINT_MASK_C
LR

EINT Interrupt Mask Clear Register
19

18

17

16

7
6
5
4
3
2
1
0
EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0
W1C W1C W1C W1C W1C W1C W1C W1C

Re
lea
se

CIRQ+0108h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register is used to clear individual mask bits. Only the bits set to 1 are in effect, and interrupt masks for which
the mask bit is set are cleared (set to 0). Otherwise the interrupt mask bit retains its original value.
EINT0-EINT7 Disable mask for the associated external interrupt source.
0 No effect.
1 Disable the corresponding MASK bit.

EINT_MASK_S
ET

CIRQ+010Ch EINT Interrupt Mask Set Register
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

21

20

19

18

17

16

7
6
5
4
3
2
1
0
EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0
W1S W1S W1S W1S W1S W1S W1S W1S

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

This register is used to set individual mask bits. Only the bits set to 1 are in effect, and interrupt masks for which the
mask bit is set are set to 1. Otherwise the interrupt mask bit retains its original value.
EINT0-EINT7 Disable mask for the associated external interrupt source.
0 No effect.
1 Enable corresponding MASK bit.

CIRQ+0110h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

EINT Interrupt Acknowledge Register
29

28

27

26

25

24

13

12

11

10

9

8

23

22

EINT_INTACK
21

20

19

18

17

16

7
6
5
4
3
2
1
0
EINT7 EINT6 EINT5 EINT4 EINT3 EINT2 EINT1 EINT0
WO WO WO WO WO WO WO WO
0
0
0
0
0
0
0
0

MT
K

Writing “1” to the specific bit position acknowledge the interrupt request correspondingly to the external interrupt line
source.
EINT0-EINT7 Interrupt acknowledgement
0 No effect
1 Interrupt request is acknowledged.

73/616

MediaTek Inc. Confidential

CIRQ+0114h

EINT Sensitive Register

EINT_SENS

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

Sensitivity type of external interrupt source.
sensitive.
EINT0-3
0
1

Only EINT0~3 need to be specified.

19

29

28

27

26

25

24

14

13

12

11
POL
R/W
0

10

9

8

16

3
2
1
0
EINT3 EINT2 EINT1 EINT0
R/W R/W R/W R/W
1
1
1
1

CIRQ+01m0h EINTn De-bounce Control Register
30

17

EINT4~7 are always edge

Sensitivity type of the associated external interrupt source.
Edge sensitivity
Level sensitivity

Bit
31
Name
Type
Reset
Bit
15
Name EN
Type R/W
Reset
0

18

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

EINTn_CON

23

22

21

20

19

18

17

16

7

6

5
CNT
R/W
0

4

3

2

1

0

These registers control the de-bounce logic for external interrupt sources in order to minimize the possibility of false
activations. EINT4~7 have no de-bounce mechanism, therefore only bit POL is used.

CNT
POL

EN

3.6
3.6.1

Co
nf
id
en
tia
l

Note that n is from 0 to 7, and m is n + 2.

De-bounce duration in terms of number of 32 KHz clock cycles.
Activation type of the EINT source
0 Negative polarity
1 Positive polarity
De-bounce control circuit
0 Disable
1 Enable

Code Cache Controller
General Description

MT
K

A new subsystem consisting of cache and TCM (tightly coupled memory) is implemented in MT6228. This
subsystem is placed between MCU core and AHB bus interface, as shown in Figure 17.

74/616

MediaTek Inc. Confidential

Cache
Controller
& MPU

TCM

cache
way 0

cache
way 1

AHB
bus
interface

cache
way 2

cache
way 3

AHB

fo
r

ARM7EJ
core

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 17 Cache and TCM subsystem

Re
lea
se

TCM is a high-speed (zero wait state) dedicated memory accessed by MCU exclusively. Because MCU can run at
104 MHz and on-chip bus runs at maximum of 52 MHz, latency occurs when MCU accesses memory or peripherals
through the on-chip bus. By moving timing critical code and data into TCM, MCU performance is increased and the
response to particular events can be guaranteed.
Another method to increase MCU performance is the introduction of cache. Cache is a small memory, keeping the
copy of external memory. If MCU reads a portion of cacheable data, the data is copied to cache. If MCU needs the
same data at a later time, it can retrieve the data directly from cache (called cache hit) instead of from external memory,
which takes a long time compared to accessing high-speed (zero wait state) cache memory.

Co
nf
id
en
tia
l

Since a large external memory maps to a small cache, cache can hold only a small portion of external memory. If
MCU accesses data not found in cache (called cache miss), some contents of cache must be dropped (flushed) and the
required data is transferred from external memory (called cache line fill) and stored in cache. On the other hand, TCM
is not a copy of external memory. The best way to use TCM is to put critical code/data in TCM in the memory usage
plan. After power on reset, the boot loader copies TCM contents from external storage (such as flash) to internal
TCM. If necessary, MCU can replace a portion of TCM content with other data on external storage in the runtime to
implement an “overlay” mechanism. TCM is also an ideal place to put stack data.
The sizes of TCM and cache can be set to one of 4 configurations:
TCM

128 KB

cache

cache

cache

cache

8KB

8 KB

8 KB

8KB

TCM

128 KB

2-way cache

TCM

TCM

cache

cache

8KB

8 KB

8KB

8 KB

TCM

1-way cache

TCM

TCM

TCM

cache

8KB

8 KB

8 KB

8KB

MT
K
128 KB

TCM

4-way cache

128 KB

no cache

TCM

TCM

TCM

TCM

8KB

8 KB

8KB

8 KB

Figure 18 Configurations of TCM and cache
75/616

MediaTek Inc. Confidential

128KB TCM, 32KB cache
144KB TCM, 16KB cache
152KB TCM, 8KB cache
160KB TCM, 0KB cache
These configurations provide flexibility for software to adjust for optimum system performance.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

cache
cache
cache
cache

8K
8K
8K
8K

cache
cache
TCM
TCM

TCM

128K

TCM

Re
lea
se

fo
r

The address mapping of these memories is as follows:

Increasingly
adjacent
address.
No memory
holes.

Figure 19 Memory mapping of TCM and cache

3.6.2

TCM
TCM
TCM
TCM

TCM

TCM

Cache is transparent to MCU.

Co
nf
id
en
tia
l

In Figure 19, MCU could only access TCM explicitly.

cache
TCM
TCM
TCM

Organization of Cache

The cache system has the following features:
Write through (no write allocation)

Configurable 1/2/4 way set associative (8K/16K/32K)

Each way has 256 cache lines with 8 word line size (256*8*4=8KB)
19 bit tag address, 1 valid bit, for one cache line.

MT
K

One way of cache comprises of two memories: tag memory and data memory. Tag memory stores each line’s valid bit,
dirty bit and tag (upper part of address). Data memory stores line data. When MCU accesses memory, the address is
compared to the contents of tag memory. First the line index (address bit [12:5]) is used to locate a line, and then the
tag of the line is compared to upper part of address (bit [31:13]). If two parts match and valid bit is 1, it is a cache hit
and data from that particular way is sent back to MCU. This process is illustrated in the following figure:

76/616

MediaTek Inc. Confidential

Revision 1.0

Address
31

13 12

54
8

19

V D Tag

Data

V D Tag

Data

V D Tag

Data

V D Tag

Data

fo
r

Index
0
1
2

0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

253
254
255

32

Re
lea
se

19

4-to-1 multiplexor

Hit

Figure 20 Tag comparison of 4-way cache

Data

Co
nf
id
en
tia
l

If most memory accesses are cache hit, MCU could get data immediately without wait states and the overall system
performance is higher. There are several factors that may affect cache hit rate:
Cache size and the organization

The larger the cache size is, the higher the hit rate is. However the hit rate starts to saturate when cache size
is larger than a threshold size. Normally a cache size of 16KB and above and two or four ways achieve a
good hit rate.
Program behavior

If the system has several tasks that switch data quickly, it may cause cache contents to be flushed frequently.
Each time a new task is run, the cache holds the data. If the next task uses data in memory that occupies the
same cache entries as the previous task, the cache contents are flushed to store the data for the new task.
Interrupts also cause program flow to change dynamically. The interrupt handler code itself and the data it
processes may cause cache to flush some data used by the current task. Thus after exiting the interrupt
handler and returning to the current task, the flushed data may need to be re-cached, resulting performance
degradation.

MT
K

To help a software engineer tune system performance, the cache controller in MT6228 records the number of cache hits
and cacheable memory accesses. The cache hit rate can be obtained from these two numbers.
The cache sub system also has a module called MPU (memory protection unit). MPU can prevent illegal memory
access and specify which memory region is cacheable or non-cacheable. Two fields in CACHE_CON register control
the enable of MPU functions. MPU has its own registers to define memory region and associated regions. These

77/616

MediaTek Inc. Confidential

settings only take effect after the enable bits in CACHE_CON are set to 1.
MPU portion of the specification.

3.6.3

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

For more details on the settings, refer to

Cache Operations

Upon power on, cache memory contains random numbers and cannot be used by MCU. Therefore MCU must have
some means to “clean” cache memory before enabling it. The cache controller provides a register which, when
written, can perform operations on cache memory. These are called cache operations, and include

fo
r

Invalidate one cache line

The user must give a memory address. If it is found within cache, that particular line is invalidated (valid bit
set to 0). Alternatively, the user can specify which set/way of cache to be invalidated.
Invalidate all cache lines

3.6.4

The cache controller hardware automatically clears all valid bits in

Re
lea
se

The user needs not to specify an address.
each tag memory.

Cache Controller Register Definition

CACHE base address is assumed 0x80700000 (subject to change).

CACHE+00h
Bit

15

14

Cache General Control Register
13

12

11

10

9

8

Name

CACHESIZE

Type
Reset

RW
00

7

6

5

4

CACHE_CON

3
2
1
0
CNTE CNTE
MCE
MPEN
N1
N0
N
RW
RW R/W R/W
0
0
0
0

Co
nf
id
en
tia
l

This register determines the cache size, cache hit counter and the enabling of MPU.

MT
K

CACHESIZE Cache Size Select
00 no cache (128KB TCM)
01 8KB, 1-way cache (120KB TCM)
10 16KB, 2-way cache (112KB TCM)
11 32KB, 4-way cache (96KB TCM)
CNTEN1 Enable cache hit counter 1.
If enabled, cache controller increments a 48-bit counter each time a cache hit occurs. This number can
provide a reference for performance measurement for tuning of application programs. This counter
increments only when the cacheable information is from MPU cacheable regions 4~7.
0 Disable
1 Enable
CNTEN0 Enable cache hit counter 0
If enabled, cache controller increments a 48-bit counter each time a cache hit occurs. This number can
provide a reference for performance measurement for tuning of application programs. This counter
increments only when the cacheable information is from MPU cacheable regions 0~3.
0 Disable
1 Enable
MPEN Enable MPU comparison of read/write permission setting.
If disabled, MCU can access any memory segment without any restriction. If enabled, MPU compares the
address of MCU to its setting. If an address falls into a restricted region, MPU stops this memory access and
sends an “ABORT” signal to MCU. Refer to the MPU portion of the specification for more details.

78/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cache Operation
26

CACHE_OP

31

30

29

28

27

25

15

14

13

12

11
10
9
TADDR[15:5]
R/W
0

24
23
22
TADDR[31:16]
R/W
0
8
7
6

21

20

19

18

17

16

3
2
OP[3:0]
W
0

1

0
EN
W1
0

Re
lea
se

CACHE+04h

fo
r

0 Disable
1 Enable
MCEN Enable MPU comparison of cacheable/non-cacheable setting.
If disabled, MCU memory accesses are all non-cacheable, i.e., they go through AHB bus (except for TCM).
If enabled, the setting in MPU takes effect. If MCU accesses a cacheable memory region, the cache
controller returns the data in cache if found in cache, and retrieves the data through the AHB bus only if a
cache miss occurs. Refer to the MPU portion of the specification for more details.
0 Disable
1 Enable

5

4

This register defines the address and/or which kind of cache operations to perform. When MCU writes this register,
the pipeline of MCU is stopped for the cache controller to complete the operation. Bit 0 of the register must be
written 1 to enable the command.

CACHE+08h

CACHE_HCNT0
L

Cache Hit Count 0 Lower Part

31

30

29

28

27

26

15

14

13

12

11

10

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

Co
nf
id
en
tia
l

TADDR[31:5] Target Address
This field contains the address of invalidation operation. If OP[3:0]=0010, TADDR[31:5] is the address[31:5]
of a memory whose line is invalidated if it exists in the cache. If OP[3:0]=0100, TADDR[12:5] indicates the
set, while TADDR[19:16] indicates which way to clear:
0001 Way #0
0010 Way #1
0100 Way #2
1000 Way #3
OP[3:0]Operation
This field determines which cache operations are performed.
0001 Invalidate all cache lines
0010 Invalidate one cache line using address
0100 Invalidate one cache line using set/way
EN
Enable command
This enable bit must be written 1 to enable the command.
0 Disabled
1 Enabled

25
24
23
22
CHIT_CNT0[31:16]
R/W
0
9
8
7
6
CHIT_CNT0[15:0]
R/W

79/616

21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Reset

0

CACHE_HCNT0
U

Cache Hit Count 0 Upper Part

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
RESERVED

22

21

20

19

18

8
7
6
CHIT_CNT0[47:32]
R/W
0

5

4

3

2

17

16

1

0

fo
r

CACHE+0Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

When the CNTEN0 bit in CACHE_CON register is set to 1 (enabled), this register counts each cache hit until it is
disabled. If the value increases over the maximum value (0xffffffffffff), the counter rolls over to 0 and continues
counting. The 48-bit counter provides a recording time of 31 days even if MCU runs at 104 MHz and every cycle is a
cache hit.
Note that before enabling the counter, it is recommended to write the initial value of zero to the counter.
CHIT_CNT0[47:0] Cache Hit Count 0
WRITE Writing any value to CACHE_HCNT0L or CACHE_HCNT0U clears CHIT_CNT0 to all zeros
READ Current counter value

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CACHE+14h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CACHE_CCNT0
L

Cacheable Access Count 0 Lower Part
29

28

27

26

25
24
23
22
CACC_CNT0[31:16]
R/W
0
9
8
7
6
CACC_CNT0[15:0]
R/W
0

Co
nf
id
en
tia
l

CACHE+10h

13

12

11

10

21

20

19

18

17

16

5

4

3

2

1

0

CACHE_CCNT0
U

Cacheable Access Count 0 Upper Part
29

28

27

26

25

24
23
RESERVED

22

21

20

19

18

17

16

13

12

11

10

9
8
7
6
CACC_CNT0[47:32]
R/W
0

5

4

3

2

1

0

MT
K

When the CNTEN0 bit in CACHE_CON register is set to 1 (enabled), this register is incremented at each cacheable
memory access (whether a cache hit or cache miss). If the value increases over the maximum value (0xffffffffffff), the
counter rolls over to 0 and continues counting. For 104 MHz MCU speed, if all memory accesses are cacheable and
cache hits, this counter overflows after (2^48) * 9.6ns = 31 days (the shortest time for the counter to overflow). In a
more realistic case, the system encounters cache misses, non-cacheable accesses, and idle mode that delay the counter
overflow.
CACC_CNT0[47:0] Cache Access Count 0

80/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

WRITE Writing any value to CACHE_CCNT0L or CACHE_CCNT0U clears CACC_CNT0 to all zeros
READ Current counter value
The best way to use CACHE_HCNT0 and CACHE_CCNT0 is to set zero as initial value in both registers, enable both
counters (set CNTEN0 to 1), run a portion of program to be benchmarked, stop the counters and retrieve their values.
During this period,

Cache hit rate =

CACHE _ HCNT
× 100% .
CACHE _ CCNT

fo
r

The cache hit rate value may help tune the performance of an application program.

Note that CHIT_CNT0 and CACC_CNT0 only increment if the cacheable attribute is defined in MPU cacheable
regions 0~3.

31

30

29

28

27

26

15

14

13

12

11

10

CACHE+1Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

25
24
23
22
CHIT_CNT1[31:16]
R/W
0
9
8
7
6
CHIT_CNT1[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

CACHE_HCNT1
U

Cache Hit Count 1 Upper Part
29

28

27

26

25

24
23
RESERVED

22

21

20

19

18

17

16

8
7
6
CHIT_CNT1[47:32]
R/W
0

5

4

3

2

1

0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CACHE_HCNT1
L

Cache Hit Count 1 Lower Part

Re
lea
se

CACHE+18h

13

12

11

10

9

When the CNTEN1 bit in CACHE_CON register is set to 1 (enabled), this register counts each cache hit until it is
disabled. If the value increases over the maximum value (0xffffffffffff), the counter rolls over to 0 and continues
counting. The 48-bit counter provides a recording time of 31 days even if MCU runs at 104 MHz and every cycle is a
cache hit.
Note that before enabling the counter, it is recommended to write the initial value of zero to the counter.
CHIT_CNT1[47:0] Cache Hit Count
WRITE Writing any value to CACHE_HCNT1L or CACHE_HCNT1U clears CHIT_CNT1 to all zeros.
READ Current counter value

Bit
Name
Type
Reset
Bit

CACHE_CCNT1
L

Cacheable Access Count 1 Lower Part

MT
K

CACHE+20h
31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
CACC_CNT1[31:16]
R/W
0
9
8
7
6

81/616

21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

CACC_CNT1[15:0]
R/W
0

CACHE_CCNT1
U

Cacheable Access Count 1 Upper Part

31

30

29

28

27

26

25

24
23
RESERVED

22

21

20

15

14

13

12

11

10

9
8
7
6
CACC_CNT1[47:32]
R/W
0

5

4

19

18

17

fo
r

CACHE+24h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

2

1

16

0

CACC_CNT1[47:0] Cache Access Count 1

Re
lea
se

When the CNTEN1 bit in CACHE_CON register is set to 1 (enabled), this register is incremented at each cacheable
memory access (whether a cache hit or a cache miss). If the value increases over the maximum value (0xffffffffffff),
the counter rolls over to 0 and continues counting. For 104 MHz MCU speed, if all memory accesses are cacheable
and cache hits, this counter overflows after (2^48) * 9.6ns = 31 days (the shortest time for the counter to overflow). In
a more realistic case, the system encounters cache misses, non-cacheable accesses, and idle mode that delay the counter
overflow.

Co
nf
id
en
tia
l

WRITE Writing any value to CACHE_CCNT1L or CACHE_CCNT1U clears CACC_CNT1 to all zeros
READ Current counter value
The best way to use CACHE_HCNT1 and CACHE_CCNT1 is to set zero as initial value in both registers, enable both
counters (set CNTEN1 to 1), run a portion of program to be benchmarked, stop the counters and retrieve their values.
During this period,

Cache hit rate =

CACHE _ HCNT
× 100% .
CACHE _ CCNT

The cache hit rate value may help tune the performance of application program.
Note that CHIT_CNT1 and CACC_CNT1 only increment if the cacheable attribute is defined in MPU cacheable
regions 4~7.

3.7
3.7.1

MPU

General Description

The purpose of MPU is to provide protection mechanism and cacheable indication of memory.
include

The features of MPU

8-entry protection settings.

MT
K

Determine if MCU can read/write a memory region. If the setting does not allow MCU access to a
particular memory address, MPU stops the memory access and issues an “ABORT” signal to MCU, forcing
it to enter “abort” mode. The exception handler must then process the situation.
8-entry cacheable settings.

82/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Determine if a memory region is cacheable or not. If cacheable, MCU keeps a small copy in its cache after
read accesses. If MCU requires the same data later, it can retrieve the data from the high-speed local copy,
instead of from low-speed external memory.
Normally the protection and cacheable attributes are combined together for the same address range, as in the example
of ARM946E. For greater flexibility, the MPU in MT6228 provides independent protection and cacheable settings.
That is to say, the memory regions defined for memory protection and for cacheable region are different and
independent of each other.

fo
r

The 4GB memory space is divided to 16 memory blocks of 256 MB, i.e., MB0~MB15. EMI uses MB0~MB3;
SYSRAM uses MB4; IDMA uses MB5; peripherals and other hardware occupy MB6~MB9; TCM (tightly-coupled
memory used by MCU exclusively) uses MB10. The characteristics of these memory blocks are listed below:
Read/write protection setting

MB0~MB4 and MB10 are determined by MPU.
Cacheable setting
MB4 and above are always non-cacheable.

MT
K

Co
nf
id
en
tia
l

MB0~MB3 are determined by MPU.

Re
lea
se

MB5 and above (except MB10) are always readable/writeable.

83/616

MediaTek Inc. Confidential

3.7.2

Protection Settings

TCM

MB10

Region 4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Region 4 base address

MB9

fo
r

Peripheral

~
MB6

IDMA

MB4

SYSRAM

Region 3

Region 3 base address

Re
lea
se

MB5

Region 2

MB3

EMI

~
MB0

Region 2 base address

Region 1

Region 1 base address

Region 0

Co
nf
id
en
tia
l

Region 0 base address

readable/writeable
non-readable/writeable

readable/non-writeable

non-readable/non-writeable

Figure 21 Protection setting

Figure 21 shows the protection setting in each memory block. Five regions are defined in the figure. Note that each
region can be continuous or non-continuous to each other, and those address ranges not covered by any region are set to
be readable/writeable automatically. One restriction exists: different regions must not overlap.
The user can define maximum 8 regions in MB0~MB4 and MB10. Each region has its own setting defined in a 32-bit
register:

10

MT
K

31

base address

7

00

6 5

prot

1

size

0

EN

Region base address (22 bits)
Region size (5 bits)
Region protection attribute (2 bits)

84/616

MediaTek Inc. Confidential

Enable bit (1 bit)
MPU aborts MCU if it accesses MB11~MB15 regions.

3.7.2.1

Region base address

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3.7.2.2

Region size

The bit encoding of region size and its relationship with base address are listed as follows.

4KB
8KB
16KB
32KB
64KB
128KB
256KB
512KB
1MB
2MB
4MB

00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100

Base address
Bit [31:10] of region start address
Bit [31:11] of region start address

Re
lea
se

Bit encoding
00000
00001

Bit [31:12] of region start address
Bit [31:13] of region start address
Bit [31:14] of region start address
Bit [31:15] of region start address
Bit [31:16] of region start address
Bit [31:17] of region start address
Bit [31:18] of region start address
Bit [31:19] of region start address
Bit [31:20] of region start address
Bit [31:21] of region start address
Bit [31:22] of region start address

Co
nf
id
en
tia
l

Region size
1KB
2KB

fo
r

The region base address defines the start of the memory region. The user needs only to specify several upper address
bits. The number of valid address bits depends on the region size. The user must align the base address to a
region-size boundary. For example, if a region size is 8 KB, its base address must be a multiple of 8KB.

Table 13 Region size and bit encoding

3.7.2.3

Region protection attribute

This attribute has two bits.

The MSB determines read access permission, and the LSB write access permission.

Bit encoding
00
10
01
11

Permission
non-readable / non-writeable
readable / non-writeable
non-readable / writeable
readable / writeable

Table 14 Region protection attribute bit encoding
So it is

MT
K

Note that bit encoding 11b allows full read/write permission, which is the case when no region is specified.
recommended to only specify regions with protection attribute 00b, 10b or 01b.

85/616

MediaTek Inc. Confidential

3.7.3

Cacheable Settings
TCM

MB10
MB9

Peripheral

~

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IDMA

MB4

SYSRAM

MB3

EMI

~

Region 2

Region 2 base address

Re
lea
se

MB5

fo
r

MB6

Region 1

MB0

Region 1 base address

Region 0

Region 0 base address

uncacheable

Co
nf
id
en
tia
l

cacheable
Figure 22 Cacheable setting

Figure 22 shows the cacheable setting in each memory block. Three regions are defined in the figure. Note that
each region can be continuous or non-continuous to each other, and those address ranges not covered by any region are
set to be non-cacheable automatically. One restriction exists: different regions must not overlap.
The user can define maximum 8 regions in MB0~MB3.

31

Each region has its own setting defined in a 32-bit register:

10

base address

000

6 5

C

1

size

0

EN

Region base address (22 bits)
Region size (5 bits)

Region cacheable attribute (1 bit)
Enable bit (1 bit)

MT
K

The region base address and region size bit encoding are the same as those of protection setting. The user must also
align the base address to a region-size boundary. The cacheable attribute has the following meaning.
Bit encoding
0
1

Attribute
uncacheable
cacheable

86/616

MediaTek Inc. Confidential

Table 15 Region cacheable attribute bit encoding

3.7.4

MPU Register Definition

MPU base address is assumed 0x80701000 (subject to change).

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Protection setting for region 0
29

28

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

30

29

15

28

18

3
2
SIZE[4:0]
RW
00000

Protection setting for region 1

17

1

16

0
EN
RW
0

MPU_PROT1

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

MT
K

31

Co
nf
id
en
tia
l

BASEADDR
Base address of this region
ATTR Protection attribute
00 non-readable / non-writeable
01 non-readable / writeable
10 readable / non-writeable
11 readable / writeable
SIZE Size of this region
00000 1 KB
00001 2 KB
00010 4 KB
00011 8 KB
00100 16 KB
00101 32 KB
00110 64 KB
00111 128 KB
01000 256 KB
01001 512 KB
01010 1 MB
01011 2 MB
01100 4 MB
EN
Enable this region
0 Disable
1
Enable

MPU+0004h

7
6
ATTR[1:0]
RW
11

19

Re
lea
se

This register sets protection attributes for region 0.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

MPU_PROT0

fo
r

MPU+0000h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

8

7
6
ATTR[1:0]
RW
11

87/616

19

18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

MediaTek Inc. Confidential

Revision 1.0

This register sets protection attributes for region 1.

MPU+0008h

29

28

MPU_PROT2

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

7
6
ATTR[1:0]
RW
11

This register sets protection attributes for region 2.

MPU+000Ch

Protection setting for region 3
29

28

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

This register sets protection attributes for region 3.

MPU+0010h

7
6
ATTR[1:0]
RW
11

19

31

30

29

28

27

15

14
13
12
11
BASEADDR[15:10]
RW

26

10

25
24
23
22
BASEADDR[31:16]
RW

21

20

9

5

4

8

16

1

0
EN
RW
0

18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

Protection setting for region 4

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

MPU_PROT3

31

8

18

3
2
SIZE[4:0]
RW
00000

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

19

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Protection setting for region 2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7
6
ATTR[1:0]
RW
11

19

MPU_PROT4
18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

This register sets protection attributes for region 4.

MPU+0014h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Protection setting for region 5
29

28

MPU_PROT5

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

7
6
ATTR[1:0]
RW
11

19

18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

This register sets protection attributes for region 5.

Protection setting for region 6

MT
K

MPU+0018h
Bit
Name
Type
Reset
Bit

MPU_PROT6

31

30

29

28

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

19

18

17

16

15

14

13

12

11

10

9

5

4

3

2

1

0

8

88/616

7

6

MediaTek Inc. Confidential

Name
Type
Reset

BASEADDR[15:10]
RW

ATTR[1:0]
RW
11

SIZE[4:0]
RW
00000

EN
RW
0

This register sets protection attributes for region 6.

Protection setting for region 7
29

28

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

This register sets protection attributes for region 7.

MPU+0040h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

MPU_PROT7

31

7
6
ATTR[1:0]
RW
11

19

Cacheable setting for region 0

31

30

29

28

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

This register sets cacheable attributes for region 0.

8

7

6
C
RW
0

18

3
2
SIZE[4:0]
RW
00000

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

MPU+001Ch

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

19

1

16

0
EN
RW
0

MPU_CACHE0
18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

MT
K

Co
nf
id
en
tia
l

BASEADDR
Base address of this region
C
Cacheable attribute
0 Uncacheable
1 Cacheable
SIZE Size of this region
00000 1 KB
00001 2 KB
00010 4 KB
00011 8 KB
00100 16 KB
00101 32 KB
00110 64 KB
00111 128 KB
01000 256 KB
01001 512 KB
01010 1 MB
01011 2 MB
01100 4 MB
EN
Enable this region
0 Disable
1 Enable

89/616

MediaTek Inc. Confidential

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cacheable setting for region 1
29

28

MPU_CACHE1

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

7

6
C
RW
0

This register sets cacheable attributes for region 1.

MPU+0048h

29

28

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

This register sets cacheable attributes for region 2.

MPU+004Ch

7

20

19

29

28

6
C
RW
0

4

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

16

1

0
EN
RW
0

18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

Cacheable setting for region 3

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

MPU_CACHE2

31

8

18

3
2
SIZE[4:0]
RW
00000

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cacheable setting for region 2

19

fo
r

MPU+0044h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6
C
RW
0

19

MPU_CACHE3
18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

This register sets cacheable attributes for region 3.

MPU+0050h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cacheable setting for region 4
29

28

MPU_CACHE4

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

7

6
C
RW
0

19

18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

This register sets cacheable attributes for region 4.

MPU+0054h

29

28

MPU_CACHE5

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

Cacheable setting for region 5

8

90/616

7

6
C
RW

19

18

17

16

3
2
SIZE[4:0]
RW

1

0
EN
RW

MediaTek Inc. Confidential

Reset

0

00000

0

This register sets cacheable attributes for region 5.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cacheable setting for region 6
29

28

MPU_CACHE6

31

30

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

8

7

6
C
RW
0

This register sets cacheable attributes for region 6.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Cacheable setting for region 7

31

30

29

28

27

26

25
24
23
22
BASEADDR[31:16]
RW

21

20

15

14
13
12
11
BASEADDR[15:10]
RW

10

9

5

4

This register sets cacheable attributes for region 7.

3.8.1

7

6
C
RW
0

17

16

1

0
EN
RW
0

19

MPU_CACHE7
18

17

16

3
2
SIZE[4:0]
RW
00000

1

0
EN
RW
0

Co
nf
id
en
tia
l

3.8 Data Cache

8

18

3
2
SIZE[4:0]
RW
00000

Re
lea
se

MPU+005Ch

19

fo
r

MPU+0058h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

General Description

The data cache is an 8-kilobyte, 8-way write-back cache that bridges the multi-layer Advanced High-speed Bus (AHB)
and the External Memory Interface (EMI). Requests from the AHBs are processed by the data cache before being
forwarded to the external bus. The two main objectives of the data cache are to reduce activity on the external bus,
and to maximize the throughput of the external bus.
The data cache contains a copy of part of the external memory. If the required data is in data cache, the data is
returned from the cache without issuing a request to external memory. This intervention on the cache’s part reduces
activity on the external bus without losing data throughput. The data cache converts all types of bus read requests into
a single type of 16-byte burst read request for the EMI. The EMI converts a 16-byte burst read request to a 16-byte
page-mode or 16-byte burst-mode access request on the external bus, depending on the type of memory on the external
bus. Page-mode and burst-mode access are more efficient ways to access external memory. The system can retrieve
more data in the same amount of time, thereby increasing throughput. The simple request types also simplify the
EMI’s design, reducing cost and improving timing.

MT
K

If the data request is a data cache hit (the requested data is found in the cache), the data is returned from the data cache
in one cycle for the DMA and GMC busses, and in two cycles for an MCU running at 104MHz. These latencies are
much shorter than for an external bus access.
Figure 23 shows an overview of the bus architecture.
engines via the three AHBs.

The data cache serves all of the bus masters and multi-media

91/616

MediaTek Inc. Confidential

Ko
nk
a

Revision 1.0

Re
lea
se

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 23 Overview of the Bus Architecture

Co
nf
id
en
tia
l

The data cache and EMI are connected by four buses. These four interfaces operate independently of each other;
requests from the interfaces can be issued at the same time. Three of the four buses are standard AHBs for reading
data from external memory, and the other is a request-acknowledgement interface for the write buffer. The EMI can
see the next request while current request is still being processed. With the capability of seeing pending requests, the
EMI can optimize its access schedule to make memory access more efficient.
The data cache comprises four parts: the AHB interface, the main controller, the line filler, and the write buffer (Figure
24).

DATA CACHE

MCU burst read

AHB I/F

1-stage
ADDR
ADDR
Queue
Queue

MCU BUS

AHB I/F

DMA BUS

GMC BUS

DATA cache
Main Controller

MCU line filler

RDATA FIFO

Line Filler

Write Buffer

EMI
AHB I/F

DG line filler
REQ/ACK

Write buffer

MT
K

Figure 24 Data Cache Architecture
The AHB interface’s responsibilities are to interface with the AHBs, to prioritize incoming requests from the buses, and
to shake hands with the Line Filler for missed data. Requests from the three buses are prioritized before entering the
main controller of the cache: requests from the MCU bus take precedence over the requests from the DMA and GMC
buses.
92/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The main controller is the core of the data cache: its sophisticated state machine is designed to handle the control of
cache TAG memory and DATA memory; hand-shaking with the AHB interface, the write buffer, and line fillers; and
debugging functions. The main controller features a “hit under miss” non-blocking cache: a cache miss from an AHB
does not block the other buses’ access to the cache. When a cache miss occurs, the main controller enters Line Fill
Phase: the replaced cache line is flushed (written to target memory as required), and the main controller issues a line fill
request to the Line Filler. Once the Line Filler accepts the request, the main control becomes available again for
access while the line fill is executed in background. The data cache is still accessible during the line fill.

fo
r

Two Line Fillers are implemented. They allow two cache lines being replaced concurrently, while leaving the cache
still accessible in the meantime. This feature is especially useful for a system with many bus masters. Missed data is
returned from Line Filler to the AHB interface directly to reduce the latency.

3.8.2

Re
lea
se

The data cache contains an eight-stage write buffer. Each stage stores up to 32-bit data. The write buffer favors
sequential tags for each buffer stage. Data with sequential tags has the highest priority in the EMI: the EMI can write
data sequentially into the same row of the SDRAM memory, reducing the write time by saving on the time required to
pre-charge and activate a row.

Specification and Main Features

The MT6228 data cache implementation includes the following features:
•

8-kilobyte, 8-way write-back data cache with random cache replacement scheme.

•

64 cache lines for each cache way, and 16 bytes per cache line.

•

2 dirty bits per cache line.

Co
nf
id
en
tia
l

The two dirty bits indicate whether the upper 8-byte and lower 8-byte segment of a cache line have been changed
(Figure 25). Only half of the cache line is flushed before replacement if that half-line has been changed,
shortening the access latency and reducing activity on the external memory bus.

Figure 25 Two Dirty Bits per Cache Line
•

Four read/write ports to the EMI.

MT
K

The EMI sees the next queued memory access request before the current request has been completed, and
pre-schedules the access based on requests from the four access ports. This capability is especially useful for
SDRAM type memory, where pre-charge and row activation for the next request can be executed in advance to
shorten latency.

93/616

MediaTek Inc. Confidential

•

Missed data is returned first.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The data requested during a cache miss is filled by the line filler and returned to the requestor starting at the
missed data.

Re
lea
se

fo
r

For example: the MCU requests data at address 0x4, but the request results in a cache miss. The data cache
dispatches a 16-byte burst request starting from 0x4 to the EMI. The data located at address 0x4 is returned first,
followed by that at addresses 0x8, 0xC, then 0x0 (Figure 26). The return of the requested data first shortens the
access latency.

Figure 26 Missed Data Is Returned First
•

Background cache line fill.

The data cache has two stand-alone line fillers, each of which can execute a cache line fill upon request from the
main controller individually. Other buses can still access the data cache during the line fill, maximizing
throughput of the data cache.

Co
nf
id
en
tia
l

For example: two sequential requests come from the MCU and the GMC. The MCU request is accepted before
GMC and causes a cache miss. The cache main controller allocates a cache line for the MCU data. If the cache
line is dirty, the main controller flushes the line first, then hands over the line fill request to the Line Filler. The
main controller is now available to accept the next request from the GMC (Figure 27). If the GMC request
results in another cache miss, the line fill request is issued to the second Line Filler. The main controller is still
available to process the next request from a bus. The main controller is blocked only when a third cache miss
occurs before the two previous line fills have been completed.

DATA CACHE

MCU burst read

AHB I/F

1-stage
ADDR
ADDR
Queue
Queue

MCU BUS

AHB I/F

DMA BUS

MCU line filler

RDATA FIFO

Line Filler

Write Buffer

EMI
AHB I/F

DG line filler
REQ/ACK

Write buffer

MT
K

GMC BUS

DATA cache
Main Controller

Figure 27 Background Cache Line Fill

94/616

MediaTek Inc. Confidential

•

Debug support.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The data cache supports a variety of debugging functions and cache tag and data memory read access via the
Advanced Peripheral Bus (APB). The following functions can be executed anywhere and anytime without
restriction:

•

fo
r

Invalidate all cache lines.
Invalidate and clean all cache lines.
Invalidate a single cache line by specifying the set/way or address.
Invalidate and clean a single cache line by specifying the set/way or address.
Read a cache tag by specifying the set/way or address.
Read cache data by specifying the set/way or address.
Drain the write buffer.
Write buffer flushed before MCU burst read (FBBR mode).

Re
lea
se

The data cache is specially optimized for MCU code execution, thus the user is recommended to set only code and
read-only (RO) data as code cache cacheable (refer to the Code Cache section for the definition of a cacheable
region). For regions of cacheable memory, requests are forwarded directly to the EMI through the “MCU burst
read” path (Figure 24). The requests can be accepted before write buffer is flushed, shortening access latency.

Co
nf
id
en
tia
l

If read-write (RW) data is set as code cache cacheable, data inconsistency may occur. Consider a write request
(WB2) followed by a read request (L1C) with the same memory address, both issued by the MCU (Figure 28 (a)).
The write data (WB2) is queued in the data cache’s write buffer, and the read request is forwarded directly to the
EMI. Because the write buffer queue contains other data ahead of WB2, WB2 is actually written to target
memory after L1C has been executed. Therefore, the MCU receives outdated data, and the consistency problem
occurs.

!"

!"

#

$ %

!"

#

$ %

#
!"

#

(a)

(b)

Figure 28 Data Consistency Problem for Cacheable RW

MT
K

The data cache provides an Flush Buffer Before Read (FBBR) mode that allows RW data to be set as code cache
cacheable without compromising data consistency. When in FBBR mode, MCU read requests are not issued to
the EMI until the write buffer is empty. This suspension of the read request prevents it from being executed
before the write request and solves the data consistency problem. Figure 28(b) shows L1C executed after WB2.

Note that in FBBR mode, more cycles are required to complete a read request because of flush cycles before the
read operation. Thus MCU access latency may increase, and MCU performance may be reduced.

95/616

MediaTek Inc. Confidential

!"
$&

'+ *

%'%( #

)

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

#

*

$&

*

%'%( #

)

$ %

fo
r

#

!"

•

Re
lea
se

Figure 29 Increased Latency of FBBR Mode Due to Write Buffer Flush
DMA and GMC AHB interfaces allow the clock ratio to switch dynamically between 1:2 and 1:1.

The maximum clock rate of the DMA and GMC buses is 52 MHz; the maximum clock rate of data cache is
104 MHz. A clock ratio bridge is implemented in the AHB interface of the data cache to convert requests and
data to different clock rates. The clock ratio of the DMA or GMC bus and data cache can be either 1:2 or 1:1.
If the data cache clock rate is lower than 52 MHz, the clock rate of DMA or GMC bus must be the same as that of
the data cache and the clock ratio is 1:1. If the data cache clock rate is 104 MHz, the AHB’s clock rate can only
be 52 MHz, and the clock ratio is 1:2. The clock ratio can be switched between 1:2 and 1:1 dynamically without
restriction, reducing the overhead for system clock rate switching software.

3.8.3

NOR flash Programming

Co
nf
id
en
tia
l

When data cache is enabled, an external memory access request may not actually result in physical transaction occuring
on external memory bus. For instance, when MCU issues a read request to external memory, if the request hits data
cache, the data will be returned from data cache directly instead of reading it from external memory. This means no
request took place on the external bus.
Figure 30 illustrates the normal NOR flash programming sequence. These access must be actually executed to the
NOR flash memory interface. However, as mentioned before, an internal bus request may not be reflected on the
external bus when caches are enabled, and will therefore result in MCU not being able to program the NOR flash.
write

address 0x0000aaa
data

0xaa

write

write

write

read

address 0x0000555

address 0x0000aaa

address 0x0000078

address 0x0000078

data

0x55

data

0xa0

data

0x1234

data

Figure 30 NOR flash programming sequence

MT
K

To solve the problem, an IO command mode is designed in data cache. When data cache receive a memory request with
“1” at address bit 26, data cache will treat the request as an IO command. For an IO command, data cache will read or
write the external memory immediately regardless of the hit/miss condition. In addition, data cache will invalidate the
hit cache line for an IO write command. This can prevent data inconsistence between data cache and external memory.
Next read data from the same address will return from external memory, not from data cache.
illustrates the NOR flash programming using IO command. To issue an IO command, software has to OR original
address bit 26 with “1”. In the example, the address to be programmed is 0x0078. To program it with IO command, the
address bit 26 is set to “1”, and the address becomes 0x4000078.

96/616

MediaTek Inc. Confidential

write

write

write

write

address 0x4000aaa

address 0x4000555

address 0x4000aaa

address 0x4000078

data

0xaa

data

0x55

data

0xa0

data

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

read

address 0x4000078

0x1234

data

Figure 31 IO command for NOR flash programming

3.8.4

Register Definitions

Register Address

Register Function

L2C+0000h

Data cache control register

L2C+0004h

Data cache target register

L2C+0008h

Data cache status register

L2C+000Ch

Data cache tag register

L2C+0010h

Data cache data register

L2C+0014h

Data cache mode register

fo
r

Table 16 summarizes the registers used by the data cache.
Acronym

L2C_CON

L2C_TARGET

L2C_STA

Re
lea
se

L2C_TAG
L2C_DATA

L2C_MODE

Table 16 Data Cache Registers

L2C+0000h

Data Cache Control Register

L2C_CON

31
EN
W
15

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

14

13

12

11

10

9

8
7
VALUE
R/W

6

5

4

3

2

1

0

CMD

Requests an operation on the data cache. Four functions are provided:
0000 Invalidate and clean the data cache.
To invalidate means to clear the valid bit of a cache line. To clean means to write the cache line data to
destination memory if dirty.

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

CMD
R/W

VALUE[3:0]
Function
0100
Invalidate a single cache line with the set/way specified in the L2C_TARGET register.
0110
Invalidate and clean a single cache line with the set/way specified in the
L2C_TARGET register.
1100
Invalidate a single cache line with the address specified in the L2C_TARGET register.
The data cache finds the cache line with the same address and invalidates it.
1110
Invalidate and clean a single cache line with the address specified in the
L2C_TARGET register. The data cache finds the cache line with the same address,
and cleans and invalidates it.
0101
Invalidate all cache lines.
0111
Invalidate and clean all cache lines.
Read the data cache. Either TAG or DATA can be read.
VALUE[1:0]
Function
00
Read a TAG with the set/way specified in the L2C_TARGET register.
01
Read cache data with the set/way specified in the L2C_TARGET register.
10
Read a TAG with address specified in the L2C_TARGET register.

MT
K

0001

97/616

MediaTek Inc. Confidential

Revision 1.0

11
Read cache data at the address specified in the L2C_TARGET register.
0010 Drain the write buffer.
0011 Configure the MODE bit.
VALUE
Bit

7

6

5

4

Name

FBBR

Type
Reset

W
0

1

0

MPEG4

BYPASS

W
0

W
1

fo
r

Bypass the data cache. The write buffer is still activated.
MPEG4 mode.
Gate DMA and GMC requests. Any requests from the DMA and GMC are suspended.
Normally only half a cache line is set as dirty when data is written to only half of the
cache line. When this mode is enabled, the entire cache line is set as dirty when data
is written to the line.
Flush the write buffer before issuing an MCU burst read (L1 cache line fill) to the EMI.

Re
lea
se

BYPASS
MPEG4
GATEDG
DIRTYALL

3
2
DIRTYAL
GATEDG
L
W
W
0
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

FBBR
Others Reserved.
VALUE Cooperates with CMD to specify a function.
EN
Executes the command specified by CMD and VALUE. While EN is set, the values of CMD and VALUE
are interpreted as a command: the data cache executes the command CMD with the parameter VALUE.

L2C+0004h
31

30

29

28

15

14

13

12

26

25

24

10

9

8

23

7

21

20

19

18

17

16

6

5

4

3
2
WORD
R/W

1

0

21

20

19

18

17

16

5

4

3
2
WORD
R/W

1

0

Data Cache Target Register (ADDRESS)

31

30

15

14

29

28

27

26

25

24

13

12

11

10

9

8

R/W

L2C_TARGET

22

IDX
R/W

L2C+0004h
Bit
Name
Type
Bit
Name
Type

27
SET
R/W
11

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Data Cache Target Register (SET/WAY)

23
22
TAG
R/W
7
6
IDX
R/W

L2C_TARGET

Specifies a SET/WAY or address for a single cache invalidation or TAG/DATA read.

L2C+0008h
Bit
Name
Type
Reset
Bit
Name

Data Cache Status Register

31

30

15

14

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

18

2
MISS
R
0

MT
K

Type
Reset

BUSY

L2C_STA

Indicates that the current command is still being processed.
command is finished.

98/616

17

16

1
0
GATE
BUSY
DG
R
R
0
0

The register is cleared when the current

MediaTek Inc. Confidential

GATEDG

Indicates that DMA and GMC requests are gated. GATEDG is valid only when the BUSY register is
clear.
Indicates HIT or MISS of the commands for a single cache invalidation or TAG/DATA read. MISS is
valid only when the BUSY register is clear.

L2C+000Ch

Data Cache TAG Register

L2C_TAG

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

TAG
R

19
TAG
R
3

18
2

17

16

1

0

fo
r

MISS

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

L2C+0010h
Bit
Name
Type
Bit
Name
Type

Data Cache DATA Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Re
lea
se

When a read TAG command is executed and finished, the TAG can be read from the L2C_TAG register.

24
23
DATA
R
8
7
DATA
R

L2C_DATA

22

21

20

19

18

17

16

6

5

4

3

2

1

0

When a read DATA command is executed and finished, DATA can be read from the L2C_DATA register.

Bit
Name
Type
Reset
Bit

Data Cache Mode Register

31

30

15

14

Name
Type
Reset

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

L2C+0014h

13

12

11

10

9

8

7

22

21

20

6

5

4

19

L2C_MODE
18

17

16

3
2
1
0
DIRTY GATE MPEG BYPA
FBBR
ALL DG
4
SS
R
R
R
R
R
0
0
0
0
1

The L2C_MODE register shows the data cache’s operation mode. The setting can be changed by programming the
L2C_CON register. Refer to the L2C_CON register description for details.
BYPASS
MPEG4
GATEDG
DIRTYALL
FBBR

Bypass the data cache. The write buffer is still activated.
MPEG4 mode. This mode is valid only when the data cache is enabled (BYPASS = 0).
Gate DMA and GMC requests. Any requests from the DMA and GMC are suspended.
Normally only half of a cache line is set as dirty when data is written to only half of the cache line.
When this mode is enabled, the entire cache line is set as dirty when data is written to the line.
Flush the write buffer before issuing an MCU burst read (L1 cache line fill) to the EMI.

3.8.5
•

Initialize and Enable the Data Cache
Invalidate all cache lines.

MT
K

Note: DO NOT CLEAN the cache during the first initialization, or the content of the destination memory (external
memory) may be overwritten with unpredictable values.

99/616

MediaTek Inc. Confidential

•

3.9
3.9.1

Set BYPASS to ‘0’ to enable the data cache.

Internal Memory Interface
System RAM

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3.9.2

fo
r

MT6228 provides one 128 KByte size of on-chip memory modules acting as System RAM for data access with low
latency. Such a module is composed of one high speed synchronous SRAMs with AHB Slave Interface connected to the
system backbone AHB Bus, as shown in Figure 32. The synchronous SRAM operates on the same clock as the AHB
Bus and is organized as 32 bits wide with 4 byte-write signals capable for byte operations. The SRAM macro has
limited repair capability. The yield of SRAM is improved if the defects inside it can be repaired during testing.

System ROM

Re
lea
se

The System ROM is primarily used to store software program for Factory Programming. However, due to its
advantageous low latency performance, some of the timing critical codes are also placed in System ROM. This
module is composed of high-speed VIA ROM with an AHB Slave Interface connected to a system backbone AHB,
shown in Figure 32. The module operates on the same clock as the AHB and has a 32-bit wide organization.
Bank0 SRAM

MCU AHB Bus

ROM

Co
nf
id
en
tia
l

DMA AHB Bus

Graphsys AHB Bus 0

Figure 32: Block Diagram of the Internal Memory Controller

3.10
3.10.1

External Memory Interface
General Description

MT6228 incorporates a powerful and flexible memory controller, External Memory Interface, to connect with a variety
of memory components. This controller provides one generic access scheme for Flash Memory, SRAM, PSRAM and
CellularRAM and another access scheme for MobileRAM. Up to 4 memory banks can be supported simultaneously,
BANK0-BANK3, with a maximum size of 64MB each.

MT
K

Since most of the Flash Memory, SRAM, PSRAM and CellularRAM have similar AC requirements, a generic
configuration scheme to interface them is desired. This way, the software program can treat different components by
simply specifying certain predefined parameters. All these parameters are based on the cycle time of system clock.
The interface definition based on such a scheme is listed in Table 17.
in Little Endian format for all types of access.

100/616

Note that, this interface always works with data

MediaTek Inc. Confidential

Signal Name

Type

Description

EA[25:0]

O

Address Bus

ED[15:0]

I/O

Data Bus

O

Write Enable Strobe/MobileRAM Command Input

O

Read Enable Strobe

ELB#

O

Lower Byte Strobe/MobileRAM Data Input & Output Mask

EUB#

O

Upper Byte Strobe/MobileRAM Data Input & Output Mask

ECS[3:0]#

O

BANK0~BANK3 Selection Signal

EPDN

O

PSRAM Power Down Control Signal

ECLK

O

Flash, SRAM, PSRAM and CellularRAM Clock Signal

EADV#

O

Flash, SRAM, PSRAM and CellularRAM Address Valid Signal

EWAIT

I

Flash, SRAM, PSRAM and CellularRAM Wait Signal Input

EDCLK

O

MobileRAM Clock Signal

ECKE

O

MobileRAM Clock Enable Signal

ERAS#

O

MobileRAM Row Address Signal

ECAS#

O

MobileRAM Column Address Signal

REGISTER ADDRESS REGISTER NAME

Re
lea
se

Table 17 External Memory Interface Signal of MT6228

fo
r

EWR#
ERD#

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

SYNONYM

EMI Control Register for BANK0

EMI_CONA

EMI + 0008h

EMI Control Register for BANK1

EMI_CONB

EMI + 0010h

EMI Control Register for BANK2

EMI_CONC

EMI + 0018h

EMI Control Register for BANK3

EMI_COND

Co
nf
id
en
tia
l

EMI + 0000h

EMI + 0040h

EMI Control Register 0 for MobileRAM

EMI_CONI

EMI + 0048h

EMI Control Register 1 for MobileRAM

EMI_CONJ

EMI + 0050h

EMI Control Register 2 for MobileRAM

EMI_CONK

EMI + 0058h

EMI Control Register 3 for MobileRAM

EMI_CONL

EMI + 0060h

EMI Remap Control Register

EMI_REMAP

EMI + 0068h

EMI General Control Register 0

EMI_GENA

EMI + 0070h

EMI General Control Register 1

EMI_GENB

Table 18 External Memory Interface Register Map

3.10.2

Register Definitions

EMI+0000h
Bit
Name

31

EMI Control Register for BANK 0

30

29

28

C2WS

MT
K

Type
R/W
Reset
0
Bit
15
14
13
Name DW RBLN BW
Type R/W R/W R/W
Reset
0
1
0

27

26

25

24

C2WH

11

10
WST
R/W
0

22

21

C2RS

R/W
0
12

23

EMI_CONA

9

8

R/W
0
7
6
WAIT PSIZE
R/W R/W
0
0

101/616

20

19

18

PRLT
R/W
0
5

4

3

2
RLT
R/W
7

17
16
CLKE PMO
N
DE
R/W R/W
0
0
1
0

MediaTek Inc. Confidential

31

Name

30

29

C2WS

EMI+0010h
31

Name

29

EMI+0018h
Name

25

24

12

11

10
WST
R/W
0

23

22

21

C2RS

R/W
0

28

C2WS

31

26

9

8

20

27

26

25

24

C2WH

11

10
WST
R/W
0

9

8

5

4

21

20

3

29

28

C2WS

19

26

25

24

C2WH

R/W
0

5

11

10
WST
R/W
0

22

21

C2RS

R/W
0
12

23

9

8

18

PRLT

R/W
0
7
6
WAIT PSIZE
R/W R/W
0
0

R/W
0
7
6
WAIT PSIZE
R/W R/W
0
0

Co
nf
id
en
tia
l

Type
R/W
Reset
0
Bit
15
14
13
Name DW RBLN BW
Type R/W R/W R/W
Reset
0
1
0

27

2
RLT
R/W
7

17
16
CLKE PMO
N
DE
R/W R/W
0
0
1
0

EMI_CONC

22

4

3

EMI Control Register for BANK 3
30

18

R/W
0

C2RS

R/W
0
12

23

19

PRLT

R/W
0
7
6
WAIT PSIZE
R/W R/W
0
0

EMI Control Register for BANK 2
30

Type
R/W
Reset
0
Bit
15
14
13
Name DW RBLN BW
Type R/W R/W R/W
Reset
0
1
0

Bit

27

C2WH

Type
R/W
Reset
0
Bit
15
14
13
Name DW RBLN BW
Type R/W R/W R/W
Reset
0
1
0

Bit

28

EMI_CONB

Re
lea
se

Bit

EMI Control Register for BANK 1

fo
r

EMI+0008h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20

19

2
RLT
R/W
7

EMI_COND
18

PRLT
R/W
0

5

4

3

17
16
CLKE PMO
N
DE
R/W R/W
0
0
1
0

2
RLT
R/W
7

17
16
CLKE PMO
N
DE
R/W R/W
0
0
1
0

For each bank (BANK0-BANK3), a dedicated control register is associated with the bank controller. These registers
have timing parameters that help the controller to convert memory access into proper timing waveform. Note that,
except for parameters CLKEN, PMODE, DW, RBLN, BW, WAIT and PSIZE, all the other parameters specified
explicitly are based on system clock speed in terms of cycle count.
Read Latency Time
Specifies the number of wait-states to insert in the bus transfer to the requesting agent. Such a parameter
must be chosen carefully to meet the timing specification requirements for common parameter tACC(address
access time) for asynchronous-read device and tCWT(chip select low to wait valid time) for synchronous-read
device. An example is shown below.

MT
K

RLT

102/616

MediaTek Inc. Confidential

Access Time

Read Latency Time in 104 MHz unit

65 ns ~ 70 ns

7

85 ns ~ 90 ns
110 ns ~ 120 ns

Ko
nk
a

Re
lea
se

Figure 33 Read Wait State Timing Diagram for Asynchronous-Read Memory (CLKEN=0)

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

9

12

Co
nf
id
en
tia
l

Table 19 Reference value of Read Latency Time for Asynchronous-Read memory Devices

Figure 34 Read Wait State Timing Diagram for Synchronous-Read Memory (CLKEN=1)
ECS# Low to EWAIT Valid

Read Latency Time in 104 MHz unit

0 ns ~ 10 ns

1

10 ns ~ 20 ns

2

Table 20 Reference value of Read Latency Time for Synchronous-Read Devices

MT
K

PSIZE This bit position describes the page size behavior of that the Page Mode enabled device.
0 8 byte, EA[22:3] remains the same
1 16 byte, EA[22:4] remains the same
WAIT Data-valid feedback operation control for Flash memory, PSRAM and CellularRAM.
0 Disable data-valid feedback operation control
1 Enable data-valid feedback operation control
WST Write Wait State

103/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

Specifies the parameters to extend adequate setup and hold time for target component in write operation.
Such parameter must be chosen carefully to meet the timing specification requirements for common parameter
tWC(write cycle time) for asynchronous-write device and tCWT(chip select low to wait valid time) for
synchronous-write device. An example is shown in Figure 35 and Table 21.

Figure 35 Write Wait State Timing Diagram for Asynchronous-Write Memory (BW=0)
Write Pulse Width
(Write Data Setup Time)
65 ns ~ 70 ns
85 ns ~ 90 ns
110 ns ~ 120 ns

Write Wait State in 104 MHz unit
7

9

12

Co
nf
id
en
tia
l

Table 21 Reference value of Write Wait State for Asynchronous-Write Devices

Figure 36 Write Wait State Timing Diagram for Synchronous-Write Memory (CLKEN=1 and BW=1)
Write Wait State in 104 MHz unit

0 ns ~ 10 ns

1

10 ns ~ 20 ns

2

MT
K

ECS# Low to EWAIT Valid

Table 22 Reference value of Write Wait State for Synchronous-Write Devices

BW

Burst Mode Write Control
0 Disable burst write operation

104/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

EMI+0040h
Bit

31

EMI Control Register 0 for MobileRAM
30

29

28

27

26

25

Name

PAUS
E_EN

Type
Reset
Bit
Name
Type
Reset

R/W
0
9
A9
R/W
0

14
BA1
R/W
0

13
BA0
R/W
0

12
A12
R/W
0

11
A11
R/W
0

10
A10
R/W
0

EMI_CONI

24
23
22
21
20
19
18
PING
DRAM_MOD
DRAM
PONG
DRAM_SIZE
E
_EN
_EN
R/W
R/W
R/W
R/W
0
2d
0
0
8
7
6
5
4
3
2
A8
A7
A6
A5
A4
A3
A2
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

Co
nf
id
en
tia
l

15

Re
lea
se

fo
r

1 Enable burst write operation
RBLN Read Byte Lane Enable
DW
Data Width
0 16 Bit
1 8 Bit
PMODE
Page Mode Control
If the target device supports page mode operations, the Page Mode Control can be enabled. Read in Page
Mode is determined by the set of parameters: PRLT and PSIZE.
0 disable page mode operation
1 enable page mode operation
PRLT Read Latency Time within the Same Page
Since page mode operation only helps to eliminate read latency in subsequent access within the same page, the
initial latency does not matter. Thus, the memory controller must still adopt the RLT parameter for the initial
read or reads between different pages, even if PMODE is set to 1.
CLKEN Clock Enable Control
C2RS Chip Select to Read Strobe Setup Time
C2WH Chip Select to Write Strobe Hold Time
C2WS Chip Select to Write Strobe Setup Time

17

16

DRAM_CS
R/W
0
1
0
A1
A0
R/W R/W
0
0

MT
K

A12-A0 Mode Register Configuration
BA1-B0
Mode Register Configuration
DRAM_CS MobileRAM Controller Chip Select Signal Control
00 Chip Select 0 is used for MobileRAM
01 Chip Select 1 is used for MobileRAM
10 Chip Select 2 is used for MobileRAM
11 Chip Select 3 is used for MobileRAM
DRAM_EN MobileRAM Controller Control
0 MobileRAM controller is disabled
1 MobileRAM controller is enabled
DRAM_SIZE MobileRAM Chip Size
00 64Mbit
01 128Mbit
10 256Mbit
11 512Mbit
DRAM_MODE MobileRAM Scrambling Table Control
00 Mode 1
01 Mode 2
10 Mode 3 (PASR is not allowed)

105/616

MediaTek Inc. Confidential

Revision 1.0

11 Mode 3 (PASR is not allowed)
PINGPONG_EN
Ping-pong Operation Control
PAUSE_EN Self-Refresh Mode Control when Baseband is in Pause Mode Operation

PCA
AREF
SETM
SRF
PDN
SRFS
PDNS

EMI Control Register 1 for MobileRAM

31

30

29

28

27

26

15

14

13

12

11

10

Pre-Charge All Command
Auto-Refresh Command
Set Mode Register Command
Self-Refresh Mode Command
Power-Down Mode Command
Self-Refresh Mode Status
Power Down Mode Status

EMI+0050h
30

29

28

27

26

25

14
13
RAS_MIN
R/W
0

12

11

10
RRD
R/W
0

9

WR
R/W
0

CAS

22

21

20

19

7

6

5

4

3

18

24

23
22
RAS_MAX
R/W
0
8
7
6
RC
R/W
0

21

5

17

16

2
1
0
SETM AREF PCA
R/W R/W R/W
0
0
0

EMI Control Register 2 for MobileRAM

31

15

EMI_CONJ

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

25
24
PDNS SRFS
R
R
0
0
9
8
PDN SRF
R/W R/W
0
0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

EMI+0048h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

EMI_CONK

20

19

18

17

16

4

3

2

1

0
CAS
R/W
0

RP
R/W
0

RCD
R/W
0

CAS Latency Control
0 CAS Latency = 2
1 CAS Latency = 3
RCD Active to Read or Write Delay
RP
Pre-charge Command Period
RC
Active Bank A to Active Bank A Period
RRD Active Bank A to Active Bank B Delay
RAS_MIN Minimum Active to Pre-charge Command Delay
RAS_MAX Maximum Active to Pre-charge Command Delay
WR
Write Recovery Time

EMI+0058h
31
ARFE
Name
N
Type R/W
Reset
0
Bit
15
Name
Type
Reset

30

29

MT
K

Bit

EMI Control Register 3 for MobileRAM

RFC

14

13

ISR
R/W
0

28

12

27

26

25

24

23

EMI_CONL

22

21

20

19

18

17

16

HYE

REFCNT

DIV

R/W
0
11

R/W
0
4

R/W
0

10
9
MRD
R/W
0

8

7

6

5
XSR
R/W
0

3

2

1

0

RFC
R/W
0

Auto Refresh Period
106/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
XSR
MRD
ISR
DIV

fo
r

Exit Self Refresh to Active Command Delay
Load Mode Register Command Period
Minimum Period for Self-Refresh Mode
MobileRAM Refresh Period Pre-Divider in units of 32 KHz; this field defines the MobileRAM Refresh
Period.
00 Divide by 1 (32KHz)
01 Divide by 2 (32KHz/2)
10 Divide by 3 (32KHz/3)
11 Divide by 4 (32KHz/4)
REFCNT Number of Auto-Refresh-Command to issue per MobileRAM Refresh Period.
HYE
Reserved
ARFEN Auto Refresh Control

Bit
Name
Type
Reset

15

EMI Re-map Control Register
14

13

12

11

10

9

8

EMI_REMAP

Re
lea
se

EMI+0060h

7

6

5

4

3

2

1
RM1
R/W
0

0
RM0
R/W
0

This register accomplishes the Memory Re-mapping Mechanism. The register provides the kernel software program
or system designer with the capability to change memory configuration dynamically. Three kinds of configuration are
permitted.
RM[1:0]

Re-mapping control for Boot Code, BANK0 and BANK1, refer to Table 23.
Address 0000_0000h – 07ff_ffffh

Address 0800_0000h – 0fff_ffffh

00

Boot Code

BANK1

01

BANK1

BANK0

Co
nf
id
en
tia
l

RM[1:0]

10

BANK0

BANK1

11

BANk1

BANK0

Table 23 Memory Map Configuration

EMI+0068h
Bit

31

Name CKE
Type R/W
Reset
0
Bit
15
Name EDA
Type R/W
Reset
1

EMI General Control Register 0

30

29

28
DCKS
EXT_GUARD
R
R/W
R/W
0
0
14
13
12
SCKS
PDNE WPOL
R
R/W R/W R/W
0
0
0

27
DCKE
2
R/W
0
11
SCKE
2
R/W
0

26
DCKE
4
R/W
0
10
SCKE
4
R/W
0

25
DCKE
8
R/W
0
9
SCKE
4
R/W
0

24
DCKE
16
R/W
0
8
SCKE
16
R/W
0

23

EMI_GENA
22

21

20

19

18

DCKE

DCKDLY

R/W
0
7

R/W
0
6

5

4

3

2

SCKE

SCKDLY

R/W
0

R/W
0

17

16

1

0

MT
K

SCKDLY FLASH, SRAM, PSRAM and CellularRAM Clock Delay Control
SCKE FLASH, SRAM, PSRAM and CellularRAM Clock Enable Control
SCKEn FLASH, SRAM, PSRAM and CellularRAM Clock Pad Driving Control (n=2, 4, 8, 16)
SCKSR FLASH, SRAM, PSRAM and CellularRAM Pad Slew-Rate Control
WPOL FLASH, SRAM, PSRAM and CellularRAM Wait Signal Inversion Control
PDNE PSRAM Power Down Control
EDA Data Bus Active Drive Control

107/616

MediaTek Inc. Confidential

Figure 37 Clock Delay Control

EMI+0070h
31

Name
Type
Reset
Bit
Name
Type
Reset

15

EMI General Control Register 1
30

29

28

27

26
25
EAE1
EDSR
EASR EAE2 EAE4 EAE8
6
R/W R/W R/W R/W R/W R/W
1
1
0
0
0
1
14
13
12
11
10
9
ERWS ERWE ERWE ERWE ERWE EADV
R
2
4
8
16
SR
R/W R/W R/W R/W R/W R/W
1
1
0
0
0
1

24

23

22

EDE2 EDE4 EDE8

R/W R/W R/W
1
0
0
8
7
6
EADV EADV EADV
E2
E4
E8
R/W R/W R/W
1
0
0

Co
nf
id
en
tia
l

Bit

Re
lea
se

fo
r

DCKDLY MobileRAM Clock Delay Control
DCKE MobileRAM Clock Enable Control
DCKEn MobileRAM Clock Pad Driving Control (n=2, 4, 8, 16)
DCKSR MobileRAM Clock Pad Slew-Rate Control
EXT_GUARD Extra IDLE Time for FLASH, SRAM, PSRAM and CellularRAM
CKE Dynamic MobileRAM Clock Enable Control

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

21
EDE1
6
R/W
0
5
EADV
E16
R/W
0

20
ECSS
R
R/W
1
4
ERCS
R
R/W
1

19
ECSE
2
R/W
1
3
ERCE
2
R/W
1

EMI_GENB
18
ECSE
4
R/W
0
2
ERCE
4
R/W
0

17
ECSE
8
R/W
0
1
ERCE
8
R/W
0

16
ECSE
16
R/W
0
0
ERCE
16
R/W
0

MT
K

ERCEn RAS and CAS Pad Driving Control (n=2, 4, 8, 16)
ERCSR RAS and CAS Pad Slew-Rate Control
EADVEn EADV Pad Driving Control (n=2, 4, 8, 16)
EADVSR EADV Pad Slew-Rate Control
ERWEnERD, EWR, EUB and ELB Pad Driving Control (n=2, 4, 8, 16)
ERWSR
ERD, EWR, EUB and ELB Pad Slew-Rate Control
ECSEn ECS[3:0] Pad Driving Control (n=2, 4, 8, 16)
ECSSR ECS[3:0] Pad Slew-Rate Control
EDEn ED[15:0] Pad Driving Control (n=2, 4, 8, 16)
EDSR ED[15:0] Pad Slew-Rate Control
EAEn EA[25:0] Pad Driving Control (n=2, 4, 8, 16)
EASR EA[25:0] Pad Slew-Rate Control

108/616

MediaTek Inc. Confidential

4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Microcontroller Peripherals

Microcontroller (MCU) Peripherals are devices that are under direct control of the Microcontroller. Most of the
devices are attached to the Advanced Peripheral Bus (APB) of the MCU subsystem, and serve as APB slaves. Each
MCU peripheral must be accessed as a memory-mapped I/O device; that is, the MCU or the DMA bus master reads
from or writes to the specific peripheral by issuing memory-addressed transactions.

Pulse-Width Modulation Outputs

4.1.1

fo
r

4.1

General Description

Re
lea
se

Two generic pulse-width modulators are implemented to generate pulse sequences with programmable frequency and
duty cycle for LCD backlight or charging purpose. The duration of the PWM output signal is LOW as long as the
internal counter value is greater than or equal to the threshold value. The waveform is shown in Figure 38.
Internal counter
Threshold
PWM Signal

Figure 38 PWM waveform

Co
nf
id
en
tia
l

The frequency and volume of PWM output signal are determined by these registers: PWM_COUNT, PWM_THRES,
PWM_CON. The POWERDOWN (pdn_pwm) signal is applied to power-down the PWM module. When PWM is
deactivated (POWERDOWN=1), the output is in LOW state.
The output PWM frequency is determined by:
CLK
CLK = 13000000 when CLKSEL = 0, CLK = 32000 whenCLKSEL = 1
CLOCK _ DIV × ( PWM _ COUNT + 1)
CLOCK_DIV = 1, when CLK[1:0] = 00b

CLOCK_DIV = 2, when CLK[1:0] = 01b

CLOCK_DIV = 4, when CLK[1:0] = 10b
CLOCK_DIV = 8, when CLK[1:0] = 11b

The output PWM duty cycle is determined by:

PWM _ THRES
PWM _ COUNT + 1

Note that PWM_THRES should be less than the PWM_COUNT: if this condition is not satisfied, the output pulse of
the PWM is always HIGH.

Register Definitions

MT
K

4.1.2

PWM+0000h
Bit

15

14

PWM1 Control register
13

12

11

10

9

PWM1_CON
8

7

6

5

4

3

2
CLKS
EL

Name
Type

R/W

109/616

1

0

CLK [1:0]
R/W

MediaTek Inc. Confidential

Reset

Revision 1.0
0

CLK

Select PWM1 clock prescaler scale.
00 CLK Hz
01 CLK/2 Hz
10 CLK/4 Hz
11 CLK/8 Hz
Note: When PWM1 module is disabled, its output should be kept in the LOW state.

PWM+0004h
Bit
Name
Type
Reset

15

14

PWM1 max counter value register
13

12

11

10

9

8

0

fo
r

Select PWM1 clock
CLK=13M Hz
CLK=32K Hz

PWM1_COUNT

7
6
5
PWM1_COUNT [12:0]
R/W
1FFFh

4

3

2

Re
lea
se

CLKSEL
0
1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

PWM1_COUNT PWM1 max counter value. This value is the initial value for the internal counter. Regardless of
the operation mode, if PWM1_COUNT is written while the internal counter is counting backwards,
the new initial value does not take effect until the internal counter counts down to zero, i.e. a
complete period.

Bit
Name
Type
Reset

15

14

PWM1 Threshold Value register
13

12

11

10

9

8

PWM1_THRES

7
6
5
PWM1_THRES [12:0]
R/W
0

Co
nf
id
en
tia
l

PWM+0008h

4

3

2

1

0

PWM1_THRES Threshold value. When the internal counter value is greater than or equal to PWM1_THRES, the
PWM1 output signal is 0; when the internal counter is less than PWM1_THRES, the PWM1 output
signal is 1.

PWM+000Ch
Bit

15

14

Name
Type
Reset

CLK

PWM2 Control register
13

12

11

10

9

8

7

PWM2_CON
6

5

4

3

2
CLKS
EL

1

0

CLK [1:0]

R/W
0

R/W
0

Select PWM2 clock prescaler scale.
00 CLK Hz
01 CLK/2 Hz
10 CLK/4 Hz
11 CLK/8 Hz
Note: When PWM2 module is disabled, its output should be kept in the LOW state.
Select PWM2 clock
CLK=13M Hz
CLK=32K Hz

MT
K

CLKSEL
0
1

PWM+0010h
Bit

15

14

PWM2 max counter value register
13

12

11

10

9

8

7

110/616

PWM2_COUNT
6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
PWM2_COUNT [12:0]
R/W
1FFFh

PWM2_COUNT PWM2 max counter value. This value is the initial value for the internal counter. Regardless of
the operation mode, if PWM2_COUNT is written while the internal counter is counting backwards,
the new initial value does not take effect until the internal counter counts down to zero, i.e. a
complete period.

Bit
Name
Type
Reset

15

PWM2 Threshold Value register

14

13

12

11

10

9

8

7
6
5
PWM2_THRES [12:0]
R/W
0

PWM2_THRES

4

fo
r

PWM+0014h

3

2

1

0

13MHz
PWM_COUNT = 5
PWM_THRES = 1
PWM_CON = 0b

MT
K

Co
nf
id
en
tia
l

Figure 39 PWM waveform with register values

Re
lea
se

PWM2_THRES Threshold value. When the internal counter value is greater than or equal to PWM2_THRES, the
PWM1 output signal is 0; when the internal counter is less than PWM2_THRES, the PWM2 output
signal is 1.
Figure 39 shows the PWM waveform with the indicated register values.

111/616

MediaTek Inc. Confidential

4.2

Alerter

4.2.1

General Description

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

The output of the Alerter has two sources: one is the enhanced PWM output signal, implemented within the Alerter
module; the other is the PDM signal that comes from the DSP domain directly. The output source can be selected via
the register ALERTER_CON.

Re
lea
se

The enhanced PWM has three modes of operation and can generate a signal with programmable frequency and tone
volume. The frequency and volume are determined by four registers: ALERTER_CNT1, ALERTER_THRES,
ALERTER_CNT2, and ALERTER_CON. ALERTER_CNT1 and ALERTER_CNT2 are the initial counting values
for the internal counters counter1 and counter2, respectively.
POWERDOWN signal is applied to power down the Alerter module. When Alerter is deactivated
(POWERDOWN=1), the output is in a low state. The waveform of Alerter from the enhanced PWM source in
different modes is shown in Figure 40.
T1

Internal counter1

T2

ALERTER_THRES
Internal counter2

Co
nf
id
en
tia
l

enhance pwm out (mode 1)

enhance pwm out (mode 2)

enhanced pwm out (mode 3)

T1 = ALERTER_CNT1 * 1/13MHz *( ALERTER_CON[1:0]+1)
T2 = T1 *( ALERTER_CNT2+1)

Figure 40 Alerter Waveform

In Mode 1, the polarity of the Alerter output signal, given the relationship between internal counter1 and the
programmed threshold, is inverted each time internal counter2 reaches zero.
In Mode 2, each time the internal counter2 reaches zero, the Alerter output signal toggles between the normal PWM
signal (i.e. the signal is low for an internal counter1 value greater than or equals to ALERTER_THRES; high when the
internal counter1 value is less than ALERTER_THRES) and low state.

MT
K

In Mode 3, the value of internal counter2 has no effect on output signal. That is, the alerter output signal is low as
long as the internal counter 1 value is above the programmed threshold, and is high when the internal counter1 is less
than ALERTER_THRES, regardless of internal counter2’s value.
The output signal frequency is given by:

112/616

MediaTek Inc. Confidential

13000000
2 × ( ALERTER _ CON [1 : 0] + 1) × ( ALERTER _ CNT 1 + 1) × ( ALERTER _ CNT 2 + 1)
13000000
( ALERTER _ CNT 1 + 1) × ( ALERTER _ CON [1 : 0])

The volume of the output signal is given by:

for mode 1 and mode 2 .
for mode 3

ALERTER _ THRES .
ALERTER _ CNT 1 + 1

Register Definitions

ALTER+0000h Alerter counter1 value register
15

14

13

12

11

10

ALERTER_CNT1

9
8
7
6
ALERTER_CNT1 [15:0]
R/W
FFFFh

5

4

3

2

Re
lea
se

Bit
Name
Type
Reset

fo
r

4.2.2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

ALERTER_CNT1
Alerter max counter’s value. Initial value of internal counter1. In any mode, if
ALERTER_CNT1 is written when the internal counter1 is counting, the new start value does not take effect
until the next countdown period; i.e. after internal counter1 reaches zero.

ALERTER_THR
ES

ALTER+0004h Alerter threshold value register
Bit
Name
Type
Reset

15

14

13

12

11

10

9
8
7
6
ALERTER_THRES [15:0]
R/W
0

5

4

3

2

1

0

Co
nf
id
en
tia
l

ALERTER_THRES Threshold value. When the internal counter1 value is greater than or equals to
ALERTER_THRES, the Alerter output signal is low; when counter1 is less than ALERTER_THRES,
the Alerter output signal is high.

ALTER+0008h Alerter counter2 value register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

ALERTER_CNT2
6

5

4
3
2
1
ALERTER_CNT2 [ 5:0]
R/W
111111b

0

ALERTER_CNT2
Initial value for internal counter2. The internal counter2 decreases by one each time the
internal counter1 counts down to zero; internal counter1 is a nested counter.

ALTER+000Ch Alerter control register
Bit
Name
Type
Reset

CLK

15

14

13

12

11

10

9

8
TYPE
R/W
0

7

ALERTER_CON
6

5

4
3
MODE
R/W
0

2

1
0
CLK [1:0]
R/W
0

MT
K

Select the PWM Waveform clock.
00 13 MHz
01 13/2 MHz
10 13/4 MHz
11 13/8 MHz
MODE Select the Alerter mode.
00 Mode 1 selected

113/616

MediaTek Inc. Confidential

01 Mode 2 selected
10 Mode 3 selected
TYPE Select the ALERTER output source from PWM or PDM.
0 Output generated from PWM path.
1 Output generated from PDM path.
Note: When the Alerter module is powered down, its output must be kept in low state.
Figure 41 shows the Alerter waveform with the register values.

fo
r

13MHz

ALERTER_CNT1 = 5
ALERTER_CNT2 = 1
ALERTER_THRESH= 1
ALERTER_CON = 01000b

Re
lea
se

ALERTER_CNT1 = 5
ALERTER_CNT2 = 1
ALERTER_THRESH= 1
ALERTER_CON=00000b
ALERTER_CNT1 = 5
ALERTER_CNT2 = 1
ALERTER_THRESH= 1
ALERTER_CON = 00100b

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 41 Alerter Output Signal from Enhanced PWM with Register Value Present

4.3

SIM Interface

Co
nf
id
en
tia
l

The MT6228 contains a dedicated smart card interface to allow the MCU access to the SIM card. It can operate via 5
terminals, using SIMVCC, SIMSEL, SIMRST, SIMCLK and SIMDATA.

Figure 42 SIM Interface Block Diagram

The SIMVCC is used to control the external voltage supply to the SIM card and SIMSEL determines the regulated
smart card supply voltage. SIMRST is used as the SIM card reset signal. SIMDATA and SIMCLK are used for data
exchange purpose.

MT
K

The SIM interface acts as a half duplex asynchronous communication port and its data format is composed of ten
consecutive bits: a start bit in state Low, eight information bits, and a tenth bit used for parity checking. The data format
can be divided into two modes as follows:
Direct Mode (ODD=SDIR=SINV=0)

114/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
SB D0 D1 D2 D3 D4 D5 D6 D7 PB
SB: Start Bit (in state Low)
Dx: Data Byte (LSB is first and logic level ONE is High)
PB: Even Parity Check Bit
Indirect Mode (ODD=SDIR=SINV=1)
SB N7 N6 N5 N4 N3 N2 N1 N0 PB

fo
r

SB: Start Bit (in state Low)
Nx: Data Byte (MSB is first and logic level ONE is Low)
PB: Odd Parity Check Bit

Re
lea
se

If the receiver gets a wrong parity bit, it will respond by pulling the SIMDATA Low to inform the transmitter and the
transmitter will retransmit the character.
When the receiver is a SIM Card, the error response starts 0.5 bits after the PB and it may last for 1~2 bit periods.
When the receiver is the SIM interface, the error response starts 0.5 bits after the PB and lasts for 1.5 bit period.

Co
nf
id
en
tia
l

When the SIM interface is the transmitter, it will take a total of 14 bits guard period for the error response to appear. If
the receiver shows the error response, the SIM interface will retransmit the previous character again, otherwise it will
transmit the next character.

Figure 43 SIM Interface Timing Diagram

Register Definitions

MT
K

4.3.1

SIM+0000h
Bit

15

SIM module control register

14

13

12

11

10

9

8

SIM_CON
7

Name

115/616

6

5

4

3

2

1
0
CSTO SIMO
WRST
P
N

MediaTek Inc. Confidential

Type
Reset

W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

R/W
0

Bit

15

SIM module configuration register
14

13

Name
Type
Reset

12

11

10

9

6
5
4
3
2
1
0
SIMS
TXAC RXAC
ODD SDIR SINV CPOL
HFEN T0EN T1EN TOUT
EL
K
K
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0

7

MT
K

Co
nf
id
en
tia
l

RXACK SIM card reception error handshake control
0 Disable character receipt handshaking
1 Enable character receipt handshaking
TXACK SIM card transmission error handshake control
0 Disable character transmission handshaking
1 Enable character transmission handshaking
CPOL SIMCLK polarity control in clock stop mode
0 Make SIMCLK stop in LOW level
1 Make SIMCLK stop in HIGH level
SINV Data Inverter.
0 Not invert the transmitted and received data
1 Invert the transmitted and received data
SDIR Data Transfer Direction
0 LSB is transmitted and received first
1 MSB is transmitted and received first
ODD Select odd or even parity
0 Even parity
1 Odd parity
SIMSEL
SIM card supply voltage select
0 SIMSEL pin is set to LOW level
1 SIMSEL pin is set to HIGH level
TOUT SIM work waiting time counter control
0 Disable Time-Out counter
1 Enable Time-Out counter
T1EN T=1 protocol controller control
0 Disable T=1 protocol controller
1 Enable T=1 protocol controller
T0EN T=0 protocol controller control
0 Disable T=0 protocol controller
1 Enable T=0 protocol controller
HFEN Hardware flow control

8

SIM_CNF

Re
lea
se

SIM+0004h

fo
r

SIMON SIM card power-up/power-down control
0 Initiate the card deactivation sequence
1 Initiate the card activation sequence
CSTOP Enable clock stop mode. Together with CPOL in SIM_CNF register, it determines the polarity of the SIMCLK
in this mode.
0 Enable the SIMCLK output.
1 Disable the SIMCLK output
WRST SIM card warm reset control

116/616

MediaTek Inc. Confidential

0
1

Disable hardware flow control
Enable hardware flow control

SIM +0008h
Bit
Name
Type
Reset

15

14

SIM Baud Rate Register
13

12

11

10

9

SIM_BRR

8

7

6
5
BAUD[8:0]
R/W
372d

4

15

14

SIM interrupt enable register
13

12

11

Name
Type
Reset

15

14

Name
Type
Reset

SIM module status register
13

12

11

SIM_IRQEN

SIM_STA

10
9
8
7
6
5
4
3
2
1
0
EDCE T1EN RXER T0EN SIMO ATRER TXER TOU OVRU RXTID TXTID
RR
D
R
D
FF
R
R
T
N
E
E
RC
RC
RC
RC
RC
RC
RC RC RC
RO
RO

Co
nf
id
en
tia
l

Bit

1
0
SIMCLK[1:0]
R/W
01

10
9
8
7
6
5
4
3
2
1
0
EDCE T1EN RXER T0EN SIMO ATRER TXER TOU OVRU RXTID TXTID
RR
D
R
D
FF
R
R
T
N
E
E
R/W R/W R/W R/W R/W
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0

For all these bits
0 Interrupt is disabled
1 Interrupt is enabled

SIM +0014h

2

Re
lea
se

SIM +0010h

3

fo
r

SIMCLK
Set SIMCLK frequency
00 13/2 MHz
01 13/4 MHz
10 13/8 MHz
11 13/12 MHz
BAUD Determines the baud rate as a division of SIMCLK (SIMCLK/BAUD[8:0])

Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

TXTIDE Transmit FIFO tide mark reached interrupt occurred
RXTIDE
Receive FIFO tide mark reached interrupt occurred
OVRUN
Transmit/Receive FIFO overrun interrupt occurred
TOUT Between character timeout interrupt occurred
TXERR Character transmission error interrupt occurred
ATRERR ATR start time-out interrupt occurred
SIMOFF
Card deactivation complete interrupt occurred
T0END Data Transfer handled by T=0 Controller completed interrupt occurred
RXERR Character reception error interrupt occurred
T1END Data Transfer handled by T=1 Controller completed interrupt occurred
EDCERR T=1 Controller CRC error occurred

SIM +0020h
15

14

13

MT
K

Bit
Name
Type
Reset

SIM retry limit register
12

11

10

9
8
TXRETRY
R/W
3h

7

SIM_RETRY
6

5

4

3

2

1
0
RXRETRY
R/W
3h

RXRETRY Specify the max. numbers of receive retries that are allowed when parity error has occurred.
TXRETRY Specify the max. numbers of transmit retries that are allowed when parity error has occurred.
117/616

MediaTek Inc. Confidential

SIM +0024h
Bit
Name
Type
Reset

15

14

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

SIM FIFO tide mark register
13

12

11

10
9
TXTIDE[3:0]
R/W
0h

SIM_TIDE

8

7

6

5

4

3

2
1
RXTIDE[3:0]
R/W
0h

RXTIDE
Trigger point for RXTIDE interrupt
TXTIDE Trigger point for TXTIDE interrupt

Bit
Name
Type
Reset

15

14

Data register used as Tx/Rx Data Register
13

12

11

10

9

8

7

6

SIM_DATA

5

fo
r

SIM +0030h

0

4
3
DATA[7:0]
R/W

2

1

0

SIM +0034h
Bit
Name
Type
Reset

15

14

SIM FIFO count register
13

12

11

10

9

8

Re
lea
se

DATA Eight data digits. These correspond to the character being read or written

7

6

5

4

3

SIM_COUNT

2
1
COUNT[4:0]
R/W
0h

0

COUNT The number of characters in the SIM FIFO when read, and flushes when written.

Bit
Name
Type
Reset

15

ATIME

14

15

DTIME

14

12

11

10

9

8
7
ATIME[15:0]
R/W
AFC7h

6

5

4

3

2

1

0

SIM deactivation time register
13

12

11

10

9

8

7

SIM_DTIME

6
5
DTIME[11:0]
R/W
3E7h

4

3

2

1

0

The register defines the duration, in 13MHz clock cycles, of the time taken for each of the three stages of
the card deactivation sequence

SIM +0048h
Bit
Name
Type
Reset

13

SIM_ATIME

The register defines the duration, in SIM clock cycles, of the time taken for each of the three stages of the
card activation process

SIM +0044h
Bit
Name
Type
Reset

SIM activation time register

Co
nf
id
en
tia
l

SIM +0040h

15

14

Character to character waiting time register
13

12

11

10

9

8
7
WTIME[15:0]
R/W
983h

6

5

SIM_WTIME
4

3

2

1

0

MT
K

WTIME Maximum interval between the leading edge of two consecutive characters in 4 ETU unit

SIM +004Ch
Bit
Name
Type
Reset

15

14

Block to block guard time register
13

12

11

10

9

8

7

118/616

SIM_GTIME
6

5

4

3

2
1
GTIME
R/W
10d

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GTIME Minimum interval between the leading edge of two consecutive characters sent in opposite directions in ETU
unit

Bit
Name
Type
Reset

15

14

Transmit error detection register
13

12

11

10

9

8

7

SIM_ETIME
6

5

4

ETIME The register define the position for transmit error detection in ETU/16 unit

Bit
Name
Type
Reset

15

14

SIM command header register: INS
13

12

11

10

9

8
INSD
R/W
0h

7

1

0

SIM_INS

6

5

4
3
SIMINS[7:0]
R/W
0h

2

Re
lea
se

SIM +0060h

3
2
ETIME
R/W
15d

fo
r

SIM +0050h

1

0

SIMINS This field should be identical to the INS instruction code. When writing to this register, the T=0 controller will
be activated and data transfer will be initiated.
INSD [Description for this register field]
0 T=0 controller receives data from the SIM card
1 T=0 controller sends data to the SIM card

Bit
Name
Type
Reset

15

14

SIM_P3(ICC_LE
N)

SIM command header register: P3
13

12

11

10

9

8

7

Co
nf
id
en
tia
l

SIM +0064h

6

5

4
3
SIMP3[8:0]
R/W
0h

2

1

0

SIMP3 This field should be identical to the P3 instruction code. It should be written prior to the SIM_INS register.
While the data transfer is going on, this field shows the no. of the remaining data to be sent or to be received

SIM +0068h
Bit
Name
Type
Reset

15

14

SIM_SW1(ICC_
LEN)

SIM procedure byte register: SW1
13

12

11

10

9

8

7

6

5

4
3
SIMSW1[7:0]
RO
0h

2

1

0

SIMSW1 This field holds the last received procedure byte for debug purpose. When the T0END interrupt occurred,
it keeps the SW1 procedure byte.

SIM +006Ch
15

14

13

12

11

10

9

8

7

MT
K

Bit
Name
Type
Reset

SIMSW2

SIM_SW2(ICC_
EDC)

SIM procedure byte register: SW2

6

5

4
3
SIMSW2[7:0]
RO
0h

2

1

0

This field holds the SW2 procedure byte

119/616

MediaTek Inc. Confidential

4.3.2

SIM Card Insertion and Removal

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The detection of physical connection to the SIM card and card removal is done by the external interrupt controller or by
GPIO.

4.3.3

Card Activation and Deactivation

Assert SIMRST LOW
Set SIMVCC at HIGH level and SIMDATA in reception mode

fo
r

The card activation and deactivation sequence are both controlled by hardware. The MCU initiates the activation
sequence by writing a “1” to bit 0 of the SIM_CON register, and then the interface performs the following activation
sequence:

Re
lea
se

Enable SIMCLK clock
De-assert SIMRST HIGH (required if it belongs to active low reset SIM card)

The final step in a typical card session is contact deactivation in order to prevent the card from being electrically
damaged. The deactivation sequence is initiated by writing a “0” to bit 0 of the SIM_CON register, and then the
interface performs the following deactivation sequence:
Assert SIMRST LOW
Set SCIMCLK at LOW level
Set SIMDATA at LOW level
Set SIMVCC at LOW level

Answer to Reset Sequence

Co
nf
id
en
tia
l

4.3.4

After card activation, a reset operation results in an answer from the card consisting of the initial character TS, followed
by at most 32 characters. The initial character TS provides a bit synchronization sequence and defines the conventions
to interpret data bytes in all subsequent characters.
On reception of the first character, TS, MCU should read this character, establish the respective required convention
and reprogram the related registers. These processes should be completed prior to the completion of reception of the
next character. And then, the remainder of the ATR sequence is received, read via the SIM_DATA in the selected
convention and interpreted by the software.

MT
K

The timing requirement and procedures for ATR sequence are handled by hardware and shall meet the requirement of
ISO 7816-3 as shown in Figure 44.

120/616

MediaTek Inc. Confidential

Ko
nk
a

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 44 Answer to Reset Sequence
Value

Comment

T1

> 400 SIMCLK

SIMCLK start to ATR appear

T2

< 200 SIMCLK

SIMCLK start to SIMDATA in reception mode

T3

> 40000 SIMCLK

SIMCLK start to SIMRST High

Re
lea
se

Time

T4

—

SIMVCC High to SIMCLK start

T5

—

SIMRST Low to SIMCLK stop

T6

—

SIMCLK stop to SIMDATA Low

T7

—

SIMDATA Low to SIMVCC Low

Table 24 Answer to Reset Sequence Time-Out Condition

SIM Data Transfer

Co
nf
id
en
tia
l

4.3.5

Two transfer modes are provided, either in software controlled byte-by-byte fashion or in a block fashion using T=0
controller and DMA controller. In both modes, the time-out counter can be enabled to monitor the elapsed time between
two consecutive bytes.

4.3.5.1

Byte Transfer Mode

This mode is used during ATR and PPS procedure. In this mode, the SIM interface only ensures error free character
transmission and reception.
Receiving Character

Upon detection of the start-bit sent by SIM card, the interface transforms into reception mode and the following bits are
shifted into an internal register. If no parity error is detected or character-receive handshaking is disabled, the
received-character is written into the SIM FIFO and the SIM_CNT register is increased by one. Otherwise, the
SIMDATA line is held low for 0.5 ETU after detecting the parity error for 1.5 ETU, and the character is re-received. If a
character fails to be received correctly for the RXRETRY times, the receive-handshaking is aborted and the
last-received character is written into the SIM FIFO, the SIM_CNT is increased by one and the RXERR interrupt is
generated

MT
K

When the number of characters held in the receive FIFO exceeds the level defined in the SIM_TIDE register, a
RXTIDE interrupt is generated. The number of characters held in the SIM FIFO can be determined by reading the
SIM_CNT register and writing to this register will flush the SIM FIFO.
Sending Character

121/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Characters that are to be sent to the card are first written into the SIM FIFO and then automatically transmitted to the
card at timed intervals. If character-transmit handshaking is enabled, the SIMDATA line is sampled at 1 ETU after the
parity bit. If the card indicates that it did not receive the character correctly, the character is retransmitted a maximum
of TXRETRY times before a TXERR interrupt is generated and the transmission is aborted. Otherwise, the succeeding
byte in the SIM FIFO is transmitted.

If a character fails to be transmitted and a TXERR interrupt is generated, the interface needs to be reset by flushing the
SIM FIFO before any subsequent transmit or receive operation.

4.3.5.2

fo
r

When the number of characters held in the SIM FIFO falls below the level defined in the SIM_TIDE register, a
TXTIDE interrupt is generated. The number of characters held in the SIM FIFO can be determined by reading the
SIM_CNT register and writing to this register will flush the SIM FIFO.

Block Transfer Mode

Re
lea
se

Basically, the SIM interface is designed to work in conjunction with the T=0 protocol controller and the DMA
controller during non-ATR and non-PPS phase; although it is still possible for software to service the data transfer
manually as in byte transfer mode if necessary, and thus the T=0 protocol should be controlled by software.
The T=0 controller is accessed via four registers representing the instruction header bytes INS and P3, and the
procedure bytes SW1 and SW2. These registers are:
SIM_INS, SIM_P3
SIM_SW1, SIM_SW2

During characters transfer, SIM_P3 holds the number of characters to be sent or to be received and SIM_SW1 holds the
last received procedure byte including NULL, ACK, NACK and SW1 for debug purpose.

Co
nf
id
en
tia
l

Data Receive Instruction
Data Receive Instructions receive data from the SIM card. It is instantiated as the following procedure.
1.
2.
3.
4.
5.

Enable the T=0 protocol controller by setting the T0EN bit to 1 in SIM_CNF register
Program the SIM_TIDE register to 0x0000 (TXTIDE = 0, RXTIDE = 0)
Program the SIM_IRQEN to 0x019C (Enable RXERR, TXERR, T0END, TOUT and OVRUN interrupts)
Write CLA, INS, P1, P2 and P3 into SIM FIFO
Program the DMA controller :
DMAn_MSBSRC and DMAn_LSBSRC : address of SIM_DATA register
DMAn_MSBDST and DMAn_LSBDST : memory address reserved to store the received characters
DMAn_COUNT : identical to P3 or 256 (if P3 == 0)
DMAn_CON : 0x0078
6. Write P3 into SIM_P3 register and then INS into SIM_INS register (Data Transfer is initiated
now)
7. Enable the Time-out counter by setting the TOUT bit to 1 in SIM_CNF register
8. Start the DMA controller by writing 0x8000 into the DMAn_START register to

Upon completion of the Data Receive Instruction, T0END interrupt will be generated and then the Time-out counter
should be disabled by setting the TOUT bit back to 0 in SIM_CNF register.

MT
K

If error occurs during data transfer (RXERR, TXERR, OVRUN or TOUT interrupt is generated), the SIM card should
be deactivated first and then activated prior subsequent operations.
Data Send Instruction

Data Send Instructions send data to the SIM card. It is instantiated as the following procedure.
1. Enable the T=0 protocol controller by setting the T0EN bit to 1 in SIM_CNF register

122/616

MediaTek Inc. Confidential

Program the SIM_TIDE register to 0x0100 (TXTIDE = 1, RXTIDE = 0)
Program the SIM_IRQEN to 0x019C (Enable RXERR, TXERR, T0END, TOUT and OVRUN interrupts)
Write CLA, INS, P1, P2 and P3 into SIM FIFO
Program the DMA controller :
DMAn_MSBSRC and DMAn_LSBSRC : memory address reserved to store the transmitted characters
DMAn_MSBDST and DMAn_LSBDST : address of SIM_DATA register
DMAn_COUNT : identical to P3
DMAn_CON : 0x0074
6. Write P3 into SIM_P3 register and then (0x0100 | INS) into SIM_INS register (Data Transfer
is initiated now)
7. Enable the Time-out counter by setting the TOUT bit to 1 in SIM_CNF register
8. Start the DMA controller by writing 0x8000 into the DMAn_START register

fo
r

2.
3.
4.
5.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Upon completion of the Data Send Instruction, T0END interrupt will be generated and then the Time-out counter
should be disabled by setting the TOUT bit back to 0 in SIM_CNF register.

4.4
4.4.1

Keypad Scanner
General Description

Re
lea
se

If error occurs during data transfer (RXERR, TXERR, OVRUN or TOUT interrupt is generated), the SIM card should
be deactivated first and then activated prior to subsequent operations.

Co
nf
id
en
tia
l

The keypad can be divided into two parts: one is the keypad interface including 7 columns and 6 rows; the other is the
key detection block which provides key pressed, key released and de-bounce mechanisms. Each time the key is
pressed or released, i.e. something different in the 7 x 6 matrix, the key detection block senses the change and
recognizes if a key has been pressed or released. Whenever the key status changes and is stable, a KEYPAD IRQ is
issued. The MCU can then read the key(s) pressed directly in KP_HI_KEY, KP_MID_KEY and KP_LOW_KEY
registers. To ensure that the key pressed information is not missed, the status register in keypad is not read-cleared by
APB read command. The status register can only be changed by the key-pressed detection FSM.
This keypad can detect one or two key-pressed simultaneously with any combination. Figure 45 shows one key
pressed condition. Figure 46(a) and Figure 46(b) illustrate two keys pressed cases. Since the key press detection
depends on the HIGH or LOW level of the external keypad interface, if keys are pressed at the same time and there
exists a key that is on the same column and the same row with the other keys, the pressed key cannot be correctly
decoded. For example, if there are three key presses: key1 = (x1, y1), key2 = (x2, y2), and key3 = (x1, y2), then both
key3 and key4 = (x2, y1) are detected, and therefore they cannot be distinguished correctly. Hence, the keypad can
detect only one or two keys pressed simultaneously at any combination. More than two keys pressed simultaneously
in a specific pattern retrieves the wrong information. If these specific patterns are excluded, the keypad-scanning
block can detect 11 keys at the same time, shown in Figure 47.

Key Pressed

De-bounce time

De-bounce time

Key-pressed Status

MT
K

KP_IRQ
KEY_PRESS_IRQ

KEY_RELEASE_IRQ

Figure 45 One key pressed with de-bounce mechanism denoted

123/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Key 1 pressed
Key 2 pressed
S t a t us
I RQ
Key 1 pr essed

Key 2 pressed

Key 1 relea sed

Key 1 pr essed

Key 2 pressed

Key 2 relea sed

Key 2 r elea sed

Key 2 pressed
S t a t us

Key 1 r elea sed

Re
lea
se

I RQ

fo
r

Key 1 pressed

Figure 46 (a) Two keys pressed, case 1 (b) Two keys pressed, case 2
COL6

COL5

COL4

COL3

ROW5
ROW4
ROW3
ROW2
ROW1
ROW0

Figure 47 11 keys are detected at the same time

Keypad status

Bit
Name
Type
Reset

15

STA

This register indicates the keypad status.
0 No key pressed
1 Key pressed

14

KP +0004h
15

13

13

11

10

9

8

7

KP_STA
6

5

4

3

12

11

10

14

13

12

11

10

2

1

0
STA
RO
0

The register is not cleared by the read operation.

9

8
7
KEYS [15:0]
RO
FFFFh

6

5

KP_LOW_KEY
4

3

Keypad scanning output, the medium 16 keys

MT
K
15

12

Keypad scanning output, the lower 16 keys

14

KP +0008h
Bit
Name
Type
Reset

COL0

Register Definitions

KP +0000h

Bit
Name
Type
Reset

COL1

Co
nf
id
en
tia
l

4.4.2

COL2

9

8
7
KEYS [31:16]
RO
FFFFh

124/616

6

5

2

1

0

KP_MID_KEY
4

3

2

1

0

MediaTek Inc. Confidential

KP+000Ch
Bit
Name
Type
Reset

15

Keypad scanning output, the higher 4 keys
14

13

12

11

10

9

8

7

6

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

KP_HIGH_KEY

5
4
KEYS[41:32]
RO
3FF’h

3

2

1

0

KEYS Status list of the 42 keys.

Bit
Name
Type
Reset

15

KP_DEBOUNC
E

De-bounce period setting

14

13

12

11

10

9

8

7
6
5
DEBOUNCE [13:0]
R/W
400h

4

3

2

1

0

Re
lea
se

KP +00010h

fo
r

These two registers list the status of 42 keys on the keypad. When the MCU receives the KEYPAD IRQ, both two
registers must be read. If any key is pressed, the relative bit is set to 0.

This register defines the waiting period before key press or release events are considered stale.
DEBOUNCE

4.5

De-bounce time = KP_DEBOUNCE/32 ms.

General Purpose Inputs/Outputs

Co
nf
id
en
tia
l

MT6228 offers 71 general-purpose I/O pins and 3 general-purpose output pins. By setting the control registers, MCU
software can control the direction, the output value, and read the input values on these pins. These GPIOs and GPOs
are multiplexed with other functionalities to reduce the pin count.

Figure 48 GPIO Block Diagram
GPIOs at RESET

Upon a hardware reset (SYSRST#), GPIOs are all configured as inputs and the following alternate usages of the GPIO
pins are enabled.
These GPIOs are used to latch the inputs upon reset to memorize the desired configuration to ensure that the system
restarts or boots up in the right mode.

MT
K

Multiplexing of Signals on GPIO
The GPIO pins can be multiplexed with other signals.
DAICLK, DAIPCMIN, DAIPCMOUT, DAIRST: digital audio interface for FTA
BPI_BUS6, BPI_BUS7, BPI_BUS8, BPI_BUS9: radio hardwired control
125/616

MediaTek Inc. Confidential

BSI_CS1: additional chip select signal for radio 3-wire interface
LSCK, LSA0, LSDA, LSCE0#, LSCE1#: serial display interface
LPCE1#: parallel display interface chip select signal
NRNB, NCLE, NALE, NWEB, NREB, NCEB: NAND flash control signals
PWM1, PWM2: pulse width modulation signal

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IRDA_RXD, IRDA_TXD, IRDA_PDN: IrDA control signals
URXD2, UTXD2, UCTS2, URTS2: data and flow control signals for UART2
URXD3, UTXD3, UCTS3, URTS3: data and flow control signals for UART3

fo
r

ALERTER: pulse width modulation signal for buzzer

Re
lea
se

CMRST, CMPDN, CMDAT9, CMDAT8, CMDAT7, CMDAT6, CMDAT5, CMDAT4, CMDAT3, CMDAT2,
CMDAT1, CMDAT0: sensor interface
SRCLKENAI: external power on signal of the external VCXO LDO

NLD8, NLD9, NLD10, NLD11, NLD12, NLD13, NLD14, NLD15, NLD16, NLD17: NAND FLASH and
Parallel LCD data signals
MFIQ, MIRQ: external interrupt

MCDA4, MCDA5, MCDA6, MCDA7: MMC4.0 data signals
Multiplexed of Signals on GPO

SRCLKENA, SRCLKENAN: power on signal of the external VCXO LDO

4.5.1

Co
nf
id
en
tia
l

EPDN: external memory interface power down controls

Register Definitions

GPIO+0000h
Bit

GPIO direction control register 1

GPIO_DIR1

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO +0010h GPIO direction control register 2
Bit

GPIO_DIR2

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO PGIO GPIO GPIO GPIO GPIO
Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO+0020h

GPIO direction control register 3

GPIO_DIR3

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

MT
K

Bit

126/616

MediaTek Inc. Confidential

GPIO+0030h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPIO direction control register 4

GPIO_DIR4

Bit

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

15

14

GPIO direction control register 5
13

Name
Type
Reset

12

11

10
9
8
7
6
5
4
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
74
73
72
71
70
69
68
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

GPIOn GPIO direction control
0 GPIOs are configured as input
1 GPIOs are configured as output

GPIO +0050h GPIO pull-up/pull-down enable register 1
Bit

GPIO_DIR5
3

2

1

fo
r

Bit

0

Re
lea
se

GPIO+0040h

GPIO_PULLEN
1

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
High- High- High- High- HighNote PD
PD
PD
PD
PD
PD
HIzhZ PU
PU
PD
PD
Z
Z
Z
Z
Z

Bit
Name
Type
Reset
Note

Co
nf
id
en
tia
l

GPIO +0060h GPIO pull-up/pull-down enable register 2

GPIO_PULLEN
2

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO PGIO GPIO GPIO GPIO GPIO
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
PU
PU
PU
PD
PD
PU
PU
PU
PU
PU
PU
PU
PD
PD
PD
PD

GPIO+0070h
Bit

GPIO pull-up/pull-down enable register 3

GPIO_PULLEN
3

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
High- HighNote High-Z High-Z
PU
PU
PU
PU
PU
PU
PU
PU
PD
PD
PD
PD
Z
Z

GPIO pull-up/pull-down enable register 4

MT
K

GPIO+0080h
Bit

Name
Type
Reset
Note

GPIO_PULLEN4

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
PU
PD
PD
PD
PD
PD
PD
PD
PD
PD
PU
PU
PU
PD
PU
PD

127/616

MediaTek Inc. Confidential

Bit

15

14

GPIO pull-up/pull-down enable register 5
13

12

11

Name
Type
Reset
Note

10
9
8
7
6
5
4
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
74
73
72
71
70
69
68
R/W R/W R/W R/W R/W R/W R/W
1
1
1
1
1
1
1
PD
PD
PD
PD
PD
PD
PD

GPIOn GPIO pull-up/pull-down control

GPIO +00A0h GPIO data inversion control register 1

GPIO_PULLEN5
3

2

1

0

fo
r

GPIO+0090h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPIO_DINV1

Re
lea
se

Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Name INV15 INV14 INV13 INV12 INV11 INV10 INV9 INV8 INV7 INV6 INV5 INV4 INV3 INV2 INV1 INV0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO +00B0h GPIO data inversion control register 2

GPIO_DINV2

Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Name INV31 INV30 INV29 INV28 INV27 INV26 INV25 INV24 INV23 INV22 INV21 INV20 INV19 IVN18 INV17 INV16
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO +00C0h GPIO data inversion control register 3

GPIO_DINV3

Co
nf
id
en
tia
l

Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Name INV47 INV46 INV45 INV44 INV43 INV42 INV41 INV40 INV39 INV38 INV37 INV36 INV35 INV34 INV33 INV32
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO+00D0h GPIO data inversion control register 4

GPIO_DINV4

Bit
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Name INV63 INV62 INV61 INV60 INV59 INV58 INV57 INV56 INV55 INV54 INV53 INV52 INV51 INV50 INV49 INV48
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO+00E0h
14

GPIO data inversion control register 5

Bit
Name
Type
Reset

15

13

12

11

INVn

GPIO inversion control
0 GPIOs data inversion disable
1 GPIOs data inversion enable

10
9
8
7
6
5
4
INV74 INV73 INV73 INV71 INV70 INV69 INV68
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

GPIO +00F0h GPIO data output register 1

GPIO_DINV5
3

2

1

0

GPIO_DOUT1

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

MT
K

Bit

128/616

MediaTek Inc. Confidential

GPIO +0100h GPIO data output register 2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPIO_DOUT2

Bit

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO PGIO GPIO GPIO GPIO GPIO
Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Reset

GPIO +0110h GPIO data output register 3

GPIO_DOUT3

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO+0120h

GPIO data output register 4

Bit

Re
lea
se

fo
r

Bit

GPIO_DOUT4

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

GPIO+0130h
Bit

15

14

GPIO data output register 5
13

12

Name
Type
Reset

11

10
9
8
7
6
5
4
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
74
73
72
71
70
69
68
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

3

GPIO_DOUT5
2

1

0

Co
nf
id
en
tia
l

GPIOn GPIO data output control
0 GPIOs data output 0
1 GPIOs data output 1

GPIO +0140h GPIO data Input register 1
Bit

GPIO_DIN1

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Type RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Reset X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

GPIO +0150h GPIO data Input register 2
Bit

GPIO_DIN2

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO PGIO GPIO GPIO GPIO GPIO
Name
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
Type RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Reset X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

GPIO +0160h GPIO data Input register 3

GPIO_DIN3

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
Type RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
Reset X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X

MT
K

Bit

129/616

MediaTek Inc. Confidential

GPIO+0170h

GPIO data input register 4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPIO_DIN4

Bit

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO GPIO
Name
63
62
61
60
59
58
57
56
55
54
53
52
51
50
49
48
Type RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
RO
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Reset X

Bit

15

GPIO data input register 5

14

13

12

11

Name
Type
Reset

GPIO_DIN5

10
9
8
7
6
5
4
GPIO GPIO GPIO GPIO GPIO GPIO GPIO
74
73
72
71
70
69
68
RO
RO
RO
RO
RO
RO
RO
X
X
X
X
X
X
X

3

2

1

fo
r

GPIO+0180h

0

GPIO +0190h GPO data output register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

GPOn GPOs data output

Re
lea
se

GPIOn GPIOs data input

7

6

5

4

GPIO +01A0h GPIO mode control register 1
15
14
GPIO7_M
R/W
00

11
10
GPIO5_M
R/W
00

9
8
GPIO4_M
R/W
00

7
6
GPIO3_M
R/W
00

5
4
GPIO2_M
R/W
00

GPIO_MODE1

3
2
GPIO1_M
R/W
00

1
0
GPIO0_M
R/W
00

GPIO mode selection
Configured as GPIO function
CMOS Sensor Flash Control Output
Reserved
DSP Task ID5
GPIO mode selection
Configured as GPIO function
BSI Auxiliary input
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
SCCB Clock
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
SCCB Data
Reserved
Reserved
GPO mode selection
Configured as GPIO function

MT
K

GPIO0_M
00
01
10
11
GPIO1_M
00
01
10
11
GPIO2_M
00
01
10
11
GPIO3_M
00
01
10
11
GPIO4_M
00

13
12
GPIO6_M
R/W
00

2
1
0
GPO2 GPO1 GPO0
R/W R/W R/W
0
0
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

3

GPO_DOUT

130/616

MediaTek Inc. Confidential

fo
r

EDI (I2S) Clock Output
UART2 RXD Signal
Software Debug Interface Data Bit 7
GPIO mode selection
Configured as GPIO function
EDI (I2S) Word Synchronization Output
UART2 TXD Signal
Software Debug Interface Data Bit 6
GPIO mode selection
Configured as GPIO function
EDI (I2S) Data Signal
Reserved
Software Debug Interface Data Bit 5
GPIO mode selection
Configured as GPIO function
Reserved
USB-OTG Bus Power On Control
Software Debug Interface Data Bit 4

Re
lea
se

01
10
11
GPIO5_M
00
01
10
11
GPIO6_M
00
01
10
11
GPIO7_M
00
01
10
11

GPIO +01B0h GPIO mode control register 2
Bit
15
14
Name GPIO15_M
Type
R/W
Reset
00

11
10
GPIO13_M
R/W
00

9
8
GPIO12_M
R/W
00

7
6
GPIO11_M
R/W
00

5
4
GPIO10_M
R/W
00

GPIO_MODE2

3
2
GPIO9_M
R/W
00

1
0
GPIO8_M
R/W
00

Co
nf
id
en
tia
l

GPIO mode selection
Configured as GPIO function
32KHz Clock
USB-OTG Bus Charging Enable Control
Software Debug Interface Full Signal
GPIO mode selection
Configured as GPIO function
26MHz Clock
13MHz Clock
Software Debug Interface Empty Signal
GPIO mode selection
Configured as GPIO function
Parallel NAND FLASH/LCD Interface Data Bit 16
MMC4.0 Data Bit 4
DID (DSP ICE Data Signal)
GPIO mode selection
Configured as GPIO function
Parallel NAND FLASH/LCD Interface Data Bit 17
MMC4.0 Data Bit 5
DSP Task ID 1
GPIO mode selection
Configured as GPIO function
Sensor Reset Signal Output
Reserved

MT
K

GPIO8_M
00
01
10
11
GPIO9_M
00
01
10
11
GPIO10_M
00
01
10
11
GPIO11_M
00
01
10
11
GPIO12_M
00
01
10

13
12
GPIO14_M
R/W
00

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

131/616

MediaTek Inc. Confidential

fo
r

Reserved
GPIO mode selection
Configured as GPIO function
Sensor Power Down Signal Output
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
Sensor Data Input 1
MMC4.0 Data Bit 6
Reserved
GPIO mode selection
Configured as GPIO function
Sensor Data Input 0
MMC4.0 Data Bit 7
Reserved

Re
lea
se

11
GPIO13_M
00
01
10
11
GPIO14_M
00
01
10
11
GPIO15_M
00
01
10
11

GPIO +01C0h GPIO mode control register 3
Bit
15
14
Name GPIO23_M
Type
R/W
Reset
00

11
10
GPIO21_M
R/W
00

9
8
GPIO20_M
R/W
00

7
6
GPIO19_M
R/W
00

5
4
GPIO18_M
R/W
00

GPIO_MODE3

3
2
GPIO17_M
R/W
00

1
0
GPIO16_M
R/W
00

Co
nf
id
en
tia
l

GPIO mode selection
Configured as GPIO function
BPI_BUS6
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
BPI_BUS7
13MHz Clock
26MHz Clock
GPIO mode selection
Configured as GPIO function
BPI_BUS8
6.5MHz Clock
32KHz Clock
GPIO mode selection
Configured as GPIO function
BPI_BUS9
BSI_CS1
BFE Debug Signal Output
GPIO mode selection
Configured as GPIO function
Serial LCD Interface/PM IC Interface Clock Signal
TDMA Timer Debug Port Clock Output
TDMA Timer Uplink Frame Enable Signal
GPIO mode selection

MT
K

GPIO16_M
00
01
10
11
GPIO17_M
00
01
10
11
GPIO18_M
00
01
10
11
GPIO19_M
00
01
10
11
GPIO20_M
00
01
10
11
GPIO21_M

13
12
GPIO22_M
R/W
00

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

132/616

MediaTek Inc. Confidential

fo
r

Configured as GPIO function
Serial LCD Interface Address/Data Signal
TDMA Timer Debug Port Data Output 1
TDMA Timer DIRQ Signal
GPIO mode selection
Configured as GPIO function
Serial LCD Interface Data/PM IC Interface Data Signal
TDMA Timer Debug Port Data Output 0
TDMA Timer CTIRQ2 Signal
GPIO mode selection
Configured as GPIO function
Serial LCD Interface/PM IC Interface Chip Select Signal 0
TDMA Timer Debug Port Frame Sync Signal
TDMA Timer CTIRQ1 Signal

Re
lea
se

00
01
10
11
GPIO22_M
00
01
10
11
GPIO23_M
00
01
10
11

GPIO +01D0h GPIO mode control register 4
Bit
15
14
Name GPIO31_M
Type
R/W
Reset
00

11
10
GPIO29_M
R/W
00

9
8
GPIO28_M
R/W
00

7
6
GPIO27_M
R/W
00

5
4
GPIO26_M
R/W
00

GPIO_MODE4

3
2
GPIO25_M
R/W
00

1
0
GPIO24_M
R/W
00

Co
nf
id
en
tia
l

GPIO mode selection
Configured as GPIO function
Serial LCD Interface Chip Select Signal 1
Parallel LCD Interface Chip Select Signal 2
TDMA Timer Event Validate Signal
GPIO mode selection
Configured as GPIO function
Parallel LCD Interface Chip Select Signal 1
NAND FLASH Interface Chip Select Signal 1
DSP Task ID 0
GPIO mode selection
NAND FLASH Interface Ready/Busy Signal
Configured as GPIO function
USB-OTG Session Valid Signal
Software Debug Interface Data Bit 2
GPIO mode selection
NAND FLASH Interface Command Latch Signal
Configured as GPIO function
USB-OTG VBus Valid Signal
Software Debug Interface Data Bit 1
GPIO mode selection
NAND FLASH Interface Address Latch Signal
Configured as GPIO function
USB-OTG Session End Signal
Software Debug Interface Data Bit 0
GPIO mode selection
NAND FLASH Interface Write Strobe Signal
Configured as GPIO function

MT
K

GPIO24_M
00
01
10
11
GPIO25_M
00
01
10
11
GPIO26_M
00
01
10
11
GPIO27_M
00
01
10
11
GPIO28_M
00
01
10
11
GPIO29_M
00
01

13
12
GPIO30_M
R/W
00

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

133/616

MediaTek Inc. Confidential

Reserved
Reserved
GPIO mode selection
NAND FLASH Interface Read Strobe Signal
Configured as GPIO function
USB-OTG Bus Power Discharging Control Signal
Software Debug Interface Clock Output Signal
GPIO mode selection
NAND FLASH Interface Chip Select Signal 0
Configured as GPIO function
Reserved
Reserved

fo
r

10
11
GPIO30_M
00
01
10
11
GPIO31_M
00
01
10
11

11
10
GPIO37_M
R/W
00

9
8
GPIO36_M
R/W
00

5
4
GPIO34_M
R/W
00

3
2
GPIO33_M
R/W
00

1
0
GPIO32_M
R/W
00

Co
nf
id
en
tia
l

GPIO mode selection
Configured as GPIO function
PWM1
TDMA Timer Uplink Frame Sync Signal
DSP Task ID2
GPIO mode selection
Configured as GPIO function
PWM2
TDMA Timer Downlink Frame Enable Signal
DSP Task ID3
GPIO mode selection
Configured as GPIO function
Alerter
TDMA Timer Downlink Frame Sync Signal
DSP Task ID4
GPIO mode selection
Configured as GPIO function
VCXO Enable Signal Input
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
MIRQ Signal
6.5 MHz Clock Signal
32 KHz Clock Signal
GPIO mode selection
Configured as GPIO function
UART2 RXD Signal
UART3 CTS Signal
Reserved

7
6
GPIO35_M
R/W
00

MT
K

GPIO32_M
00
01
10
11
GPIO33_M
00
01
10
11
GPIO34_M
00
01
10
11
GPIO35_M
00
01
10
11
GPIO36_M
00
01
10
11
GPIO37_M
00
01
10
11

13
12
GPIO38_M
R/W
00

GPIO_MODE5

Re
lea
se

GPIO +01E0h GPIO mode control register 5
Bit
15
14
Name GPIO39_M
Type
R/W
Reset
00

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

134/616

MediaTek Inc. Confidential

GPIO mode selection
Configured as GPIO function
UART2 TXD Signal
UART3 RTS Signal
Reserved
GPIO mode selection
Configured as GPIO function
UART3 RXD Signal
Reserved
Reserved

GPIO +01F0h GPIO mode control register 6
11
10
GPIO45_M
R/W
00

7
6
GPIO43_M
R/W
00

5
4
GPIO42_M
R/W
00

3
2
GPIO41_M
R/W
00

1
0
GPIO40_M
R/W
00

Co
nf
id
en
tia
l

GPIO mode selection
Configured as GPIO function
UART3 TXD Signal
Reserved
DSP Task ID5
GPIO mode selection
Configured as GPIO function
IrDA RXD Signal
UART2 CTS Signal
Software Debug Interface Data 15
GPIO mode selection
Configured as GPIO function
IrDA TXD Signal
UART2 RTS Signal
Software Debug Interface Data 14
GPIO mode selection
Configured as GPIO function
IrDA Power Down Control Signal
Reserved
Software Debug Interface Data 13
GPIO mode selection
Keypad Row 5 Scan Signal
Configured as GPIO function
ARM Clock Output
TV_CK Clock Output
GPIO mode selection
Keypad Row 4 Scan Signal
Configured as GPIO function
Internal AHB Bus Clock Output
DSP Clock Output
GPIO mode selection
Keypad Row 3 Scan Signal

9
8
GPIO44_M
R/W
00

MT
K

GPIO40_M
00
01
10
11
GPIO41_M
00
01
10
11
GPIO42_M
00
01
10
11
GPIO43_M
00
01
10
11
GPIO44_M
00
01
10
11
GPIO45_M
00
01
10
11
GPIO46_M
00

13
12
GPIO46_M
R/W
00

GPIO_MODE6

Re
lea
se

Bit
15
14
Name GPIO47_M
Type
R/W
Reset
00

Ko
nk
a

GPIO38_M
00
01
10
11
GPIO39_M
00
01
10
11

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

135/616

MediaTek Inc. Confidential

Configured as GPIO function
TPLL Clock Output
SLOW_CK Clock Output
GPIO mode selection
Keypad Row 2 Scan Signal
Configured as GPIO function
MCU/DSP PLL Clock Output
UPLL Clock Output

GPIO +0200h GPIO mode control register 7
15
14
GPIO55
R/W
0

11
10
GPIO53
R/W
0

9
8
GPIO52
R/W
0

GPIO_MODE7

7
6
GPIO51
R/W
0

5
4
GPIO50
R/W
0

3
2
GPIO49
R/W
0

1
0
GPIO48
R/W
0

Re
lea
se

GPIO mode selection
Configured as GPIO function
SIM Interface Voltage Select Signal
Reserved
Reserved
GPIO mode selection
Configured as GPIO function
Digital Audio Interface Clock Output
Reserved
Software Debug Interface Data Bit 12
GPIO mode selection
Configured as GPIO function
Digital Audio Interface PCM Data Output
Reserved
Software Debug Interface Data Bit 11
GPIO mode selection
Configured as GPIO function
Digital Audio Interface PCM Data Input
Reserved
Software Debug Interface Data Bit 10
GPIO mode selection
Configured as GPIO function
Digital Audio Interface Reset Signal Output
Reserved
Software Debug Interface Data Bit 9
GPIO mode selection
Configured as GPIO function
Digital Audio Interface Synchronization Signal Input
Reserved
Software Debug Interface Data Bit 8
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 8
Configured as GPIO function
Reserved

MT
K

GPIO48_M
00
01
10
11
GPIO49_M
00
01
10
11
GPIO50_M
00
01
10
11
GPIO51_M
00
01
10
11
GPIO52_M
00
01
10
11
GPIO53_M
00
01
10
11
GPIO54_M
00
01
10

13
12
GPIO54
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

fo
r

01
10
11
GPIO47_M
00
01
10
11

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

136/616

MediaTek Inc. Confidential

11
GPIO55_M
00
01
10
11

Software Debug Interface Address Bit 1
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 9
Configured as GPIO function
Reserved
Software Debug Interface Address Bit 0

GPIO +0210h GPIO mode control register 8
11
10
GPIO61
R/W
0

9
8
GPIO60
R/W
0

GPIO_MODE8
7
6
GPIO59
R/W
0

3
2
GPIO57
R/W
0

1
0
GPIO56
R/W
0

Re
lea
se

GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 10
Configured as GPIO function
Reserved
Software Debug Interface Read Output Enable Control
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 11
Configured as GPIO function
Reserved
Software Debug Interface Read Strobe Control
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 12
Configured as GPIO function
Reserved
Software Debug Interface Write Strobe Control
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 13
Configured as GPIO function
Reserved
Software Debug Interface Packet End Strobe Control
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 14
Configured as GPIO function
Reserved
DICK (DSP ICE Clock Input)
GPIO mode selection
NAND FLASH/Parallel LCD Interface Data Bit 15
Configured as GPIO function
Reserved
DIMS (DSP ICE Mode Select)
GPIO mode selection
Sensor Input Data Bit 2
Configured as GPIO function
Reserved
Reserved
GPIO mode selection

5
4
GPIO58
R/W
0

MT
K

GPIO56_M
00
01
10
11
GPIO57_M
00
01
10
11
GPIO58_M
00
01
10
11
GPIO59_M
00
01
10
11
GPIO60_M
00
01
10
11
GPIO61_M
00
01
10
11
GPIO62_M
00
01
10
11
GPIO63_M

13
12
GPIO62
R/W
0

fo
r

15
14
GPIO63
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

137/616

MediaTek Inc. Confidential

00
01
10
11

Configured as GPIO function
MFIQ Signal
USB-OTG ID
Software Debug Interface Data Bit 3

GPIO +0220h GPIO mode control register 9
11
10
GPIO69
R/W
0

9
8
GPIO68
R/W
0

GPIO mode selection
Sensor Input Data Bit 3
Configured as GPIO function
Reserved
Reserved
GPIO mode selection
Sensor Input Data Bit 4
Configured as GPIO function
Reserved
Reserved
GPIO mode selection
Sensor Input Data Bit 5
Configured as GPIO function
Reserved
Reserved
GPIO mode selection
Sensor Input Data Bit 6
Configured as GPIO function
Reserved
Reserved

7

6

5

4

GPIO +0230h GPIO mode control register 10
Bit
Name
Type
Reset

15

13

12

11

2

1

0

10

9

8

7

GPIO_MODE10
6

5
4
GPIO74
R/W
0

3
2
GPIO73
R/W
0

1
0
GPIO72
R/W
0

GPIO mode selection
Sensor Input Data Bit 7
Configured as GPIO function
Reserved
Reserved
GPIO mode selection
Sensor Input Data Bit 8
Configured as GPIO function
Reserved
Reserved
GPIO mode selection
Sensor Input Data Bit 9

MT
K

GPIO72_M
00
01
10
11
GPIO73_M
00
01
10
11
GPIO74_M
00

14

3

Re
lea
se

GPIO68_M
00
01
10
11
GPIO69_M
00
01
10
11
GPIO70_M
00
01
10
11
GPIO71_M
00
01
10
11

13
12
GPIO70
R/W
0

fo
r

15
14
GPIO71
R/W
0

GPIO_MODE9

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

138/616

MediaTek Inc. Confidential

01 Configured as GPIO function
10 Reserved
11 Reserved

GPIO +0240h GPO mode control register 1

GPO0_M
00
01
10
11
GPO1_M
00
01
10
11
GPO2_M
00
01
10
11

14

13

12

11

10

9

8

GPO_MODE1
7

6

5
4
GPO2_M
R/W
01

GPO mode selection
Configured as GPO function
VCXO Enable Signal Output Active High
Reserved
Reserved
GPO mode selection
Configured as GPO function
VCXO Enable Signal Output Active Low
Reserved
Reserved
GPO mode selection
Configured as GPO function
External Memory Interface Power Down Control for Pseudo SRAM
Reserved
Reserved

3
2
GPO1_M
R/W
01

1
0
GPO0_M
R/W
01

fo
r

15

Re
lea
se

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPIO+xxx4h

GPIO xxx register SET

GPIO_XXX_SET

GPIO+xxx8h

Co
nf
id
en
tia
l

For all registers addresses listed above, writing to the +4h addresse offset will perform a bit-wise OR function between
the 16bit written value and the 16bit register value already existing in the corresponding GPIO_xxx registers.
Eg.
If GPIO_DIR1 (GPIO+0000h) = 16’h0F0F,
writing GPIO_DIR1_SET (GPIO+0004h) = 16’F0F0 will result in GPIO_DIR1 = 16’hFFFF.

GPIO xxx register CLR

GPIO_XXX_CLR

For all registers addresses listed above, writing to the +8h addresse offset will perform a bit-wise AND-NOT function
between the 16bit written value and the 16bit register value already existing in the corresponding GPIO_xxx registers.
Eg.
If GPIO_DIR1 (GPIO+0000h) = 16’h0F0F,
writing GPIO_DIR1_CLR (GPIO+0008h) = 16’0F0F will result in GPIO_DIR1 = 16’h0000.

4.6
4.6.1

General Purpose Timer
General Description

MT
K

Three general-purpose timers are provided. The timers are 16 bits long and run independently of each other, although
they share the same clock source. Two timers can operate in one of two modes: one-shot mode and auto-repeat mode;
the other is a free running timer. In one-shot mode, when the timer counts down and reaches zero, it is halted. In
auto-repeat mode, when the timer reaches zero, it simply resets to countdown initial value and repeats the countdown to
zero; this loop repeats until the disable signal is set to 1. Regardless of the timer’s mode, if the countdown initial

139/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

value (i.e. GPTIMER1_DAT for GPT1 or GPTIMER_DAT2 for GPT2) is written when the timer is running, the new
initial value does not take effect until the next time the timer is restarted. In auto-repeat mode, the new countdown
start value is used on the next countdown iteration. Therefore, before enabling the gptimer, the desired values for
GPTIMER_DAT and the GPTIMER_PRESCALER registers must first be set.

Register Definitions

GPT +0000h

GPTIMER1_CO
N

GPT1 Control register

Bit
15
14
Name EN MODE
Type R/W R/W
Reset
0
0

13

12

11

10

9

8

7

6

5

4

fo
r

4.6.2

3

2

1

0

GPT +0004h
15

GPTIMER1_DA
T

GPT1 Time-Out Interval register

14

13

12

11

10

9

8
7
CNT [15:0]
R/W
FFFFh

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

Re
lea
se

MODE This register controls GPT1 to count repeatedly (in a loop) or just one-shot.
0 One-shot mode is selected.
1 Auto-repeat mode is selected.
EN
This register controls GPT1 to start counting or to stop.
0 GPT1 is disabled.
1 GPT1 is enabled.

6

5

CNT [15:0] Initial counting value. GPT1 counts down from GPTIMER1_DAT.
a GPT1 interrupt is generated.

GPT +0008h

Bit
15
14
Name EN MODE
Type R/W R/W
Reset
0
0

4

3

12

11

10

9

8

7

1

0

When GPT1 counts down to zero,

GPTIMER2_CO
N

GPT2 Control register
13

2

6

5

4

3

2

1

0

MODE This register controls GPT2 to count repeatedly (in a loop) or just one-shot.
0 One-shot mode is selected
1 Auto-repeat mode is selected
EN
This register controls GPT2 to start counting or to stop.
0 GPT2 is disabled.
1 GPT2 is enabled.

Bit
Name
Type
Reset

15

14

GPTIMER2_DA
T

GPT2 Time-Out Interval register

MT
K

GPT +000Ch

13

12

11

10

9

8
7
CNT [15:0]
R/W
FFFFh

140/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

CNT [15:0] Initial counting value. GPT2 counts down from GPTIMER2_DAT.
a GPT2 interrupt is generated.

GPT +0010h
Bit
Name
Type
Reset

15

14

When GPT2 counts down to zero,

GPT Status register
13

12

11

10

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GPTIMER_STA
9

8

7

6

5

4

3

2

1
0
GPT2 GPT1
RC
RC
0
0

Bit
Name
Type
Reset

15

14

GPTIMER1_PRES
CALER

GPT1 Prescaler register
13

12

11

10

9

8

7

6

5

4

3

Re
lea
se

GPT +0014h

fo
r

This register illustrates the gptimer timeout status. Each flag is set when the corresponding timer countdown
completes, and can be cleared when the CPU reads the status register.

2
1
0
PRESCALER [2:0]
R/W
100b

GPT +0018h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

PRESCALER This register controls the counting clock for gptimer1.
000 16 KHz
001 8 KHz
010 4 KHz
011 2 KHz
100 1 KHz
101 500 Hz
110 250 Hz
111 125 Hz

GPTIMER2_PRES
CALER

GPT2 Prescaler register
13

12

11

10

9

8

7

6

5

4

3

2
1
0
PRESCALER [2:0]
R/W
100b

PRESCALER This register controls the counting clock for gptimer2.
000 16 KHz
001 8 KHz
010 4 KHz
011 2 KHz
100 1 KHz
101 500 Hz
110 250 Hz
111 125 Hz

Bit
Name
Type
Reset

15

14

GPTIMER3_CO
N

GPT3 Control register

MT
K

GPT+001Ch

13

12

11

10

9

8

7

141/616

6

5

4

3

2

1

0
EN
R/W
0

MediaTek Inc. Confidential

This register controls GPT3 to start counting or to stop.
0 GPT3 is disabled.
1 GPT3 is enabled.

Bit
Name
Type
Reset

15

14

13

12

11

10

9

CNT [15:0] If EN=1, GPT3 is a free running timer .
GPT3.

GPT+0024h
Bit
Name
Type
Reset

15

GPTIMER3_DA
T

GPT3 Time-Out Interval register
8
7
CNT[15:0]
RO
0

13

12

11

10

9

5

4

3

2

1

0

Software reads this register for the countdown start value for

GPTIMER3_PRES
CALER

GPT3 Prescaler register

14

6

fo
r

GPT+0020h

8

Re
lea
se

EN

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7

6

5

4

3

2
1
0
PRESCALER [2:0]
R/W
100b

4.7
4.7.1

Co
nf
id
en
tia
l

PRESCALER This register controls the counting clock for gptimer3.
000 16 KHz
001 8 KHz
010 4 KHz
011 2 KHz
100 1 KHz
101 500 Hz
110 250 Hz
112 125 Hz

UART

General Description

MT6228 houses three UARTs. The UARTs provide full duplex serial communication channels between the MT6228
and external devices.
The UART has M16C450 and M16550A modes of operation, which are compatible with a range of standard software
drivers. The extensions have been designed to be broadly software compatible with 16550A variants, but certain areas
offer no consensus.

MT
K

In common with the M16550A, the UART supports word lengths from five to eight bits, an optional parity bit and one
or two stop bits, and is fully programmable by an 8-bit CPU interface. A 16-bit programmable baud rate generator
and an 8-bit scratch register are included, together with separate transmit and receive FIFOs. Eight modem control
lines and a diagnostic loop-back mode are provided. The UART also includes two DMA handshake lines, used to
indicate when the FIFOs are ready to transfer data to the CPU. Interrupts can be generated from any of the 10
sources.
Note: The UART has been designed so that all internal operations are synchronized by the CLK signal.

142/616

This

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

synchronization results in minor timing differences between the UART and the industry standard 16550A device, which
means that the core is not clock for clock identical to the original device.
After a hardware reset, the UART is in M16C450 mode. Its FIFOs can be enabled and the UART can then enter
M16550A mode. The UART adds further functionality beyond M16550A mode. Each of the extended functions can
be selected individually under software control.
The UART provides more powerful enhancements than the industry-standard 16550:

fo
r

Hardware flow control. This feature is very useful when the ISR latency is hard to predict and control in the
embedded applications. The MCU is relieved of having to fetch the received data within a fixed amount of
time.
Output of an IR-compatible electrical pulse with a width 3/16 of that of a regular bit period.

Re
lea
se

Note: In order to enable any of the enhancements, the Enhanced Mode bit, EFR[4], must be set. If EFR[4] is not set,
IER[7:5], FCR[5:4], ISR[5:4] and MCR[7:6] cannot be written. The Enhanced Mode bit ensures that the UART is
backward compatible with software that has been written for 16C450 and 16550A devices.
Figure 49 shows the block diagram of the MT6228 UART device.
Baud Rate
Generator
divisor

baud
clock

TX FIFO

APB
BUS
I/F

RX FIFO

Co
nf
id
en
tia
l

APB Bus

TX Machine

uart_tx_data

RX Machine

uart_rx_data

Modem Outputs

Modem
Control

Modem Inputs

Figure 49 Block Diagram of UART

4.7.2

Register Definitions

n = 1, 2, 3; for uart1, uart2 and uart3 respectively.

UARTn+0000h RX Buffer Register
15

14

13

RBR

RX Buffer Register. Read-only register.
Modified when LCR[7] = 0.

MT
K

Bit
Name
Type

12

11

10

9

8

7

UARTn_RBR
6

5

4
3
RBR[7:0]
RO

15

14

13

12

11

10

1

0

The received data can be read by accessing this register.

UARTn+0000h TX Holding Register
Bit
Name
Type

2

UARTn_THR
9

8

143/616

7

6

5

4
3
THR[7:0]
WO

2

1

0

MediaTek Inc. Confidential

THR

TX Holding Register. Write-only register.
sent to the PC via serial communication.
Modified when LCR[7] = 0.

The data to be transmitted is written to this register, and then

UARTn+0004h Interrupt Enable Register

IER

By storing a ‘1’ to a specific bit position, the interrupt associated with that bit is enabled. Otherwise, the
interrupt is disabled.
IER[3:0] are modified when LCR[7] = 0.
IER[7:4] are modified when LCR[7] = 0 & EFR[4] = 1.
Masks an interrupt that is generated when a rising edge is detected on the CTS modem control line.
Note: This interrupt is only enabled when hardware flow control is enabled.
0 Unmask an interrupt that is generated when a rising edge is detected on the CTS modem control line.
1 Mask an interrupt that is generated when a rising edge is detected on the CTS modem control line.
Masks an interrupt that is generated when a rising edge is detected on the RTS modem control line.
Note: This interrupt is only enabled when hardware flow control is enabled.
0 Unmask an interrupt that is generated when a rising edge is detected on the RTS modem control line.
1 Mask an interrupt that is generated when a rising edge is detected on the RTS modem control line.
Masks an interrupt that is generated when an XOFF character is received.
Note: This interrupt is only enabled when software flow control is enabled.
0 Unmask an interrupt that is generated when an XOFF character is received.
1 Mask an interrupt that is generated when an XOFF character is received.
When set ("1"), an interrupt is generated if DDCD, TERI, DDSR or DCTS (MSR[4:1]) becomes set.
0 No interrupt is generated if DDCD, TERI, DDSR or DCTS (MSR[4:1]) becomes set.
1 An interrupt is generated if DDCD, TERI, DDSR or DCTS (MSR[4:1]) becomes set.
When set ("1"), an interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
0 No interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
1 An interrupt is generated if BI, FE, PE or OE (LSR[4:1]) becomes set.
When set ("1"), an interrupt is generated if the TX Holding Register is empty or the contents of the TX FIFO
have been reduced to its Trigger Level.
0 No interrupt is generated if the TX Holding Register is empty or the contents of the TX FIFO have been
reduced to its Trigger Level.
1 An interrupt is generated if the TX Holding Register is empty or the contents of the TX FIFO have been
reduced to its Trigger Level
When set ("1"), an interrupt is generated if the RX Buffer contains data.
0 No interrupt is generated if the RX Buffer contains data.
1 An interrupt is generated if the RX Buffer contains data.

EDSSI

ELSI

ETBEI

ERBFI

11

10

9

8

7
6
5
CTSI RTSI XOFFI

4
X

3
2
1
0
EDSSI ELSI ETBEI ERBFI
R/W
0

Re
lea
se

Co
nf
id
en
tia
l

XOFFI

12

fo
r

15

RTSI

13

UARTn_IER

Bit
Name
Type
Reset

CTSI

14

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

UARTn+0008h Interrupt Identification Register
Bit
Name
Type
Reset

15

13

12

11

10

9

8

IIR

Identify if there are pending interrupts; ID4 and ID3 are presented only when EFR[4] = 1.
The following table gives the IIR[5:0] codes associated with the possible interrupts:

MT
K

14

UARTn_IIR

7
6
FIFOE
0

144/616

0

5
ID4

4
ID3

0

0

RO

3
ID2

2
ID1

1
ID0

0
NINT

0

0

0

1

MediaTek Inc. Confidential

Interrupt

Source

No interrupt pending
Line Status Interrupt
RX Data Received
RX Data Timeout
TX Holding Register Empty
Modem Status change
Software Flow Control
Hardware Flow Control

BI, FE, PE or OE set in LSR
RX Data received or RX Trigger Level reached.
Timeout on character in RX FIFO.
TX Holding Register empty or TX FIFO Trigger Level reached.
DDCD, TERI, DDSR or DCTS set in MSR
XOFF Character received
CTS or RTS Rising Edge

fo
r

IIR[5:0] Priority
Level
000001 000110 1
000100 2
001100 2
000010 3
000000 4
010000 5
100000 6

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Table 25 The IIR[5:0] codes associated with the possible interrupts

Re
lea
se

Line Status Interrupt: A RX Line Status Interrupt (IIR[5:0`] == 000110b) is generated if ELSI (IER[2]) is set and any of
BI, FE, PE or OE (LSR[4:1]) becomes set. The interrupt is cleared by reading the Line Status Register.
RX Data Received Interrupt: A RX Received interrupt (IER[5:0] == 000100b) is generated if EFRBI (IER[0]) is set and
either RX Data is placed in the RX Buffer Register or the RX Trigger Level is reached. The interrupt is cleared by
reading the RX Buffer Register or the RX FIFO (if enabled).
RX Data Timeout Interrupt:

When virtual FIFO mode is disabled, RX Data Timeout Interrupt is generated if all of the following apply:
FIFO contains at least one character;

2.

The most recent character was received longer than four character periods ago (including all start, parity and stop
bits);

3.

The most recent CPU read of the FIFO was longer than four character periods ago.

Co
nf
id
en
tia
l

1.

The timeout timer is restarted on receipt of a new byte from the RX Shift Register, or on a CPU read from the RX
FIFO.
The RX Data Timeout Interrupt is enabled by setting EFRBI (IER[0]) to 1, and is cleared by reading RX FIFO.
When virtual FIFO mode is enabled, RX Data Timeout Interrupt is generated if all of the following apply:
1.

FIFO is empty;

2.

The most recent character was received longer than four character periods ago (including all start, parity and stop
bits);

3.

The most recent CPU read of the FIFO was longer than four character periods ago.

The timeout timer is restarted on receipt of a new byte from the RX Shift Register.
RX Holding Register Empty Interrupt: A TX Holding Register Empty Interrupt (IIR[5:0] = 000010b) is generated if
ETRBI (IER[1]) is set and either the TX Holding Register or, if FIFOs are enabled, the TX FIFO becomes empty. The
interrupt is cleared by writing to the TX Holding Register or TX FIFO if FIFO enabled.

MT
K

Modem Status Change Interrupt: A Modem Status Change Interrupt (IIR[5:0] = 000000b) is generated if EDSSI
(IER[3]) is set and either DDCD, TERI, DDSR or DCTS (MSR[3:0]) becomes set. The interrupt is cleared by reading
the Modem Status Register.

145/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Software Flow Control Interrupt: A Software Flow Control Interrupt (IIR[5:0] = 010000b) is generated if Software
Flow Control is enabled and XOFFI (IER[5]) becomes set, indicating that an XOFF character has been received. The
interrupt is cleared by reading the Interrupt Identification Register.
Hardware Flow Control Interrupt: A Hardware Flow Control Interrupt (IER[5:0] = 100000b) is generated if Hardware
Flow Control is enabled and either RTSI (IER[6]) or CTSI (IER[7]) becomes set indicating that a rising edge has been
detected on either the RTS/CTS Modem Control line. The interrupt is cleared by reading the Interrupt Identification
Register.

Bit
Name
Type

15

14

13

12

11

10

UARTn_FCR

9

8

fo
r

UARTn+0008h FIFO Control Register

7
6
5
4
3
2
1
0
RFTL1 RFTL0 TFTL1 TFTL0 DMA1 CLRT CLRR FIFOE
WO

FCR

MT
K

Co
nf
id
en
tia
l

Re
lea
se

FCR is used to control the trigger levels of the FIFOs, or flush the FIFOs.
FCR[7:6] is modified when LCR != BFh
FCR[5:4] is modified when LCR != BFh & EFR[4] = 1
FCR[4:0] is modified when LCR != BFh
FCR[7:6] RX FIFO trigger threshold
0 1
0 6
1 12
2 22
FCR[5:4] TX FIFO trigger threshold
0 1
1 4
2 8
3 14
DMA1 This bit determines the DMA mode, which the TXRDY and RXRDY pins support. TXRDY and RXRDY act
to support single-byte transfers between the UART and memory (DMA mode 0) or multiple byte transfers
(DMA mode1). Note that this bit has no effect unless the FIFOE bit is set as well
0 The device operates in DMA Mode 0.
1 The device operates in DMA Mode 1.
TXRDY – mode0: Goes active (low) when the TX FIFO or the TX Holding Register is empty. Becomes
inactive when a byte is written to the Transmit channel.
TXRDY – mode1: Goes active (low) when there are no characters in the TX FIFO. Becomes inactive when
the TX FIFO is full.
RXRDY – mode0: Becomes active (low) when at least one character is in the RX FIFO or the RX Buffer
Register is full. Becomes inactive when there are no more characters in the RX FIFO or RX Buffer
register.
RXRDY – mode1: Becomes active (low) when the RX FIFO Trigger Level is reached or an RX FIFO
Character Timeout occurs. Goes inactive when the RX FIFO is empty.
CLRT Clear Transmit FIFO. This bit is self-clearing.
0 Leave TX FIFO intact.
1 Clear all the bytes in the TX FIFO.
CLRR Clear Receive FIFO. This bit is self-clearing.
0 Leave RX FIFO intact.
1 Clear all the bytes in the RX FIFO.
FIFOE FIFO Enabled. This bit must be set to 1 for any of the other bits in the registers to have any effect.

146/616

MediaTek Inc. Confidential

0
1

Disable both the RX and TX FIFOs.
Enable both the RX and TX FIFOs.

UARTn+000Ch Line Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

UARTn_LCR

9

8

7
DLAB

6
SB

5
SP

0

0

0

4
3
EPS PEN
R/W
0
0

2
1
0
STB WLS1 WLS0
0

0

0

LCR

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Line Control Register. Determines characteristics of serial communication signals.
Modified when LCR[7] = 0.
DLAB Divisor Latch Access Bit.
0 The RX and TX Registers are read/written at Address 0 and the IER register is read/written at Address 4.
1 The Divisor Latch LS is read/written at Address 0 and the Divisor Latch MS is read/written at Address 4.
SB
Set Break
0 No effect
1 SOUT signal is forced into the “0” state.
SP
Stick Parity
0 No effect.
1 The Parity bit is forced into a defined state, depending on the states of EPS and PEN:
If EPS=1 & PEN=1, the Parity bit is set and checked = 0.
If EPS=0 & PEN=1, the Parity bit is set and checked = 1.
EPS
Even Parity Select
0 When EPS=0, an odd number of ones is sent and checked.
1 When EPS=1, an even number of ones is sent and checked.
PEN
Parity Enable
0 The Parity is neither transmitted nor checked.
1 The Parity is transmitted and checked.
STB
Number of STOP bits
0 One STOP bit is always added.
1 Two STOP bits are added after each character is sent; unless the character length is 5 when 1 STOP bit is
added.
WLS1, 0
Word Length Select.
0 5 bits
1 6 bits
2 7 bits
3 8 bits

UARTn+0010h Modem Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

UARTn_MCR

7
6
XOFF IR
STAT ENAB
US
LE
0

0

5
X
0

4

3

2

1

LOOP OUT2 OUT1 RTS
0

R/W

0

0

0

0
DTR
0

MCR

MT
K

Modem Control Register. Control interface signals of the UART.
MCR[4:0] are modified when LCR[7] = 0,
MCR[7:6] are modified when LCR[7] = 0 & EFR[4] = 1.
XOFF Status This is a read-only bit.
0 When an XON character is received.

147/616

MediaTek Inc. Confidential

Bit

15

14

13

Name
Type
Reset

LSR

12

11

10

9

Re
lea
se

UARTn+0014h Line Status Register

fo
r

1 When an XOFF character is received.
IR Enable
Enable IrDA modulation/demodulation.
0 Disable IrDA modulation/demodulation.
1 Enable IrDA modulation/demodulation.
LOOP Loop-back control bit.
0 No loop-back is enabled.
1 Loop-back mode is enabled.
OUT2 Controls the state of the output NOUT2, even in loop mode.
0 NOUT2=1.
1 NOUT2=0.
OUT1 Controls the state of the output NOUT1, even in loop mode.
0 NOUT1=1.
1 NOUT1=0.
RTS
Controls the state of the output NRTS, even in loop mode.
0 NRTS=1.
1 NRTS=0.
DTR
Control the state of the output NDTR, even in loop mode.
0 NDTR=1.
1 NDTR=0.

8

7
6
5
FIFOE
TEMT THRE
RR
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

1

UARTn_LSR

4

3

2

1

0

BI

FE

PE

OE

DR

0

0

0

0

0

R/W

MT
K

Co
nf
id
en
tia
l

Line Status Register.
Modified when LCR[7] = 0.
FIFOERR RX FIFO Error Indicator.
0 No PE, FE, BI set in the RX FIFO.
1 Set to 1 when there is at least one PE, FE or BI in the RX FIFO.
TEMT TX Holding Register (or TX FIFO) and the TX Shift Register are empty.
0 Empty conditions below are not met.
1 If FIFOs are enabled, the bit is set whenever the TX FIFO and the TX Shift Register are empty. If FIFOs
are disabled, the bit is set whenever TX Holding Register and TX Shift Register are empty.
THRE Indicates if there is room for TX Holding Register or TX FIFO is reduced to its Trigger Level.
0 When at least one byte is written to the TX FIFO or the TX Shift Register.
1 Set whenever the contents of the TX FIFO are reduced to its Trigger Level (FIFOs are enabled), or
whenever TX Holding Register is empty and ready to accept new data (FIFOs are disabled).
BI
Break Interrupt.
0 Reset by the CPU reading this register
1 If the FIFOs are disabled, this bit is set whenever the SIN is held in the 0 state for more than one
transmission time (START bit + DATA bits + PARITY + STOP bits).
If the FIFOs are enabled, this error is associated with a corresponding character in the FIFO and is flagged
when this byte is at the top of the FIFO. When a break occurs, only one zero character is loaded into the
FIFO: the next character transfer is enabled when SIN goes into the marking state and receives the next
valid start bit.
FE
Framing Error.

148/616

MediaTek Inc. Confidential

0
1
PE

Reset by the CPU reading this register
If the FIFOs are disabled, this bit is set if the received data did not have a valid STOP bit. If the FIFOs
are enabled, the state of this bit is revealed when the byte it refers to is the next to be read.
Parity Error
0 Reset by the CPU reading this register
1 If the FIFOs are disabled, this bit is set if the received data did not have a valid parity bit. If the FIFOs
are enabled, the state of this bit is revealed when the referred byte is the next to be read.
Overrun Error.
0 Reset by the CPU reading this register.
1 If the FIFOs are disabled, this bit is set if the RX Buffer was not read by the CPU before new data from
the RX Shift Register overwrote the previous contents.
If the FIFOs are enabled, an overrun error occurs when the RX FIFO is full and the RX Shift Register
becomes full. OE is set as soon as this happens. The character in the Shift Register is then overwritten,
but not transferred to the FIFO.
Data Ready.
0 Cleared by the CPU reading the RX Buffer or by reading all the FIFO bytes.
1 Set by the RX Buffer becoming full or by a byte being transferred into the FIFO.

DR

UARTn+0018h Modem Status Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

Re
lea
se

fo
r

OE

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

8

7
DCD
R/W
Input

6
RI
R/W
Input

5
DSR
R/W
Input

UARTn_MSR

4
3
2
1
0
CTS DDCD TERI DDSR DCTS
R/W R/W R/W R/W R/W
Input
0
0
0
0

Note: After a reset, D4-D7 are inputs. A modem status interrupt can be cleared by writing ‘0’ or set by writing ‘1’ to
this register. D0-D3 can be written to.

MSR
DCD

Co
nf
id
en
tia
l

Modified when LCR[7] = 0.

Modem Status Register
Data Carry Detect.
When Loop = "0", this value is the complement of the NDCD input signal.

RI

When Loop = "1", this value is equal to the OUT2 bit in the Modem Control Register.
Ring Indicator.
When Loop = "0", this value is the complement of the NRI input signal.

DSR

When Loop = "1", this value is equal to the OUT1 bit in the Modem Control Register.
Data Set Ready
When Loop = "0", this value is the complement of the NDSR input signal.
When Loop = "1", this value is equal to the DTR bit in the Modem Control Register.

CTS

Clear To Send.
When Loop = "0", this value is the complement of the NCTS input signal.

MT
K

When Loop = "1", this value is equal to the RTS bit in the Modem Control Register.
DDCD Delta Data Carry Detect.
0 The state of DCD has not changed since the Modem Status Register was last read
1 Set if the state of DCD has changed since the Modem Status Register was last read.
TERI Trailing Edge Ring Indicator
0 The NRI input does not change since this register was last read.
1 Set if the NRI input changes from “0” to “1” since this register was last read.

149/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
DDSR Delta Data Set Ready
0 Cleared if the state of DSR has not changed since this register was last read.
1 Set if the state of DSR has changed since this register was last read.
DCTS Delta Clear To Send
0 Cleared if the state of CTS has not changed since this register was last read.
1 Set if the state of CTS has changed since this register was last read.

UARTn+001Ch Scratch Register
15

14

13

12

11

A general purpose read/write register.

UARTn_SCR

10

9

8

7

6

5

4
3
SCR[7:0]
R/W

2

1

0

fo
r

Bit
Name
Type

After reset, its value is un-defined.

Re
lea
se

Modified when LCR[7] = 0.

UARTn+0000h Divisor Latch (LS)
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

UARTn+0004h Divisor Latch (MS)
Bit
Name
Type
Reset

15

14

13

12

11

10

9

7

8

7

5

6

UARTn_DLL

4
3
DLL[7:0]
R/W
1

5

2

1

0

UARTn_DLM

4
3
DLL[7:0]
R/W
0

2

1

0

Note too that division by 1 generates a BAUD signal

Co
nf
id
en
tia
l

Note: DLL & DLM can only be updated if DLAB is set (“1”)..
that is constantly high.

6

Modified when LCR[7] = 1.

MT
K

The table below shows the divisor needed to generate a given baud rate from CLK inputs of 13, 26 MHz and 52 MHz.
The effective clock enable generated is 16 x the required baud rate.
BAUD
110

13MHz
7386

26MHz
14773

52MHz
29545

300
1200
2400
4800
9600
19200
38400
57600
115200

2708
677
338
169
85
42
21
14
6

5417
1354
677
339
169
85
42
28
14

10833
2708
1354
677
339
169
85
56
28

Table 26 Divisor needed to generate a given baud rate

UARTn+0008h Enhanced Feature Register
Bit

15

14

13

12

11

10

9

8

UARTn_EFR
7

150/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

AUTO AUTO
ENAB
D5
CTS RTS
LE -E
R/W R/W R/W R/W
0
0
0
0

Name
Type
Reset

SW FLOW CONT[3:0]
R/W
0

Re
lea
se

UARTn+0010h XON1
15

14

13

12

11

10

9

8

7

6

5

4
3
XON1[7:0]
R/W
0

12

11

10

9

8

7

6

5

4
3
XON2[7:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

fo
r

*NOTE: Only when LCR=BF’h
Auto CTS Enables hardware transmission flow control
0 Disabled.
1 Enabled.
Auto RTS Enables hardware reception flow control
0 Disabled.
1 Enabled.
Enable-E Enable enhancement features.
0 Disabled.
1 Enabled.
CONT[3:0] Software flow control bits.
00xx No TX Flow Control
10xx Transmit XON1/XOFF1 as flow control bytes
01xx Transmit XON2/XOFF2 as flow control bytes
11xx Transmit XON1 & XON2 and XOFF1 & XOFF2 as flow control words
xx00 No RX Flow Control
xx10 Receive XON1/XOFF1 as flow control bytes
xx01 Receive XON2/XOFF2 as flow control bytes
xx11 Receive XON1 & XON2 and XOFF1 & XOFF2 as flow control words

UARTn+0014h XON2
Bit
Name
Type
Reset

15

14

13

15

14

13

12

11

10

9

8

7

14

13

12

11

10

9

8

MT
K

15

7

2

1

0

2

1

0

UARTn_XOFF1
6

5

4
3
XOFF1[7:0]
R/W
0

UARTn+001Ch XOFF2
Bit
Name
Type
Reset

UARTn_XON1

UARTn_XON2

UARTn+0018h XOFF1
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

2

1

0

UARTn_XOFF2
6

5

4
3
XOFF2[7:0]
R/W
0

2

1

0

*Note: XON1, XON2, XOFF1, XOFF2 are valid only when LCR=BFh.

151/616

MediaTek Inc. Confidential

UARTn_AUTOBAU
D_EN

UARTn+0020h AUTOBAUD_EN
Bit

15

14

13

12

11

Revision 1.0

10

9

8

7

6

5

4

9

8

7

6

5

4

3

2

Name
Type
Reset

UARTn+0024h HIGH SPEED UART
14

13

12

11

10

0
AUTO
_EN
R/W
0

UARTn_HIGHSPEED
3

Re
lea
se

15

1

fo
r

AUTOBAUD_EN
Auto-baud enable signal
0 Auto-baud function disable
1 Auto-baud function enable

Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

2

1
0
SPEED [1:0]
R/W
0

SPEED UART sample counter base
0 based on 16*baud_pulse, baud_rate = system clock frequency/16/{DLH, DLL}
1 based on 8*baud_pulse, baud_rate = system clock frequency/8/{DLH, DLL}
2 based on 4*baud_pulse, baud_rate = system clock frequency/4/{DLH, DLL}
3 based on sampe_count * baud_pulse, baud_rate = system clock frequency / sampe_count
The table below shows the divisor needed to generate a given baud rate from CLK inputs of 13M Hz based on different
HIGHSPEED value.
HIGHSPEED = 0 HIGHSPEED = 1 HIGHSPEED = 2

110

7386

14773

29545

300

2708

7386

14773

1200

677

2708

7386

2400

338

677

2708

4800

169

338

677

9600

85

169

338

19200

42

85

169

38400

21

42

85

57600

14

21

42

115200

7

14

21

230400

*

7

14

460800

*

*

7

921600

*

*

*

Co
nf
id
en
tia
l

BAUD

Table 27 Divisor needed to generate a given baud rate from 13MHz based on different HIGHSPEED value

MT
K

The table below shows the divisor needed to generate a given baud rate from CLK inputs of 26 MHz based on different
HIGHSPEED value.
BAUD

HIGHSPEED = 0 HIGHSPEED = 1 HIGHSPEED = 2

110

14773

29545

152/616

59091

MediaTek Inc. Confidential

5417

14773

29545

1200

1354

5417

14773

2400

677

1354

5417

4800

339

677

1354

9600

169

339

667

19200

85

169

339

38400

42

85

169

57600

28

42

85

115200

14

28

42

230400

7

14

28

460800

*

7

14

921600

*

*

7

Re
lea
se

fo
r

300

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Table 28 Divisor needed to generate a given baud rate from 26 MHz based on different HIGHSPEED value
The table below shows the divisor needed to generate a given baud rate from CLK inputs of 52MHz based on different
HIGHSPEED value.
BAUD

HIGHSPEED = 0 HIGHSPEED = 1 HIGHSPEED = 2

110

29545

59091

300

10833

29545

1200

2708

10833

2400

1354

2708

4800

677

1354

2708

9600

339

677

1354

19200

169

339

677

38400

85

169

339

57600

56

85

169

115200

28

56

85

230400

14

28

56

460800

7

14

28

921600

*

7

14

118182
59091

29545

Co
nf
id
en
tia
l

10833

Table 29 Divisor needed to generate a given baud rate from 52 MHz based on different HIGHSPEED value

UARTn_SAMPLE_COUN
T

UARTn+0028h SAMPLE_COUNT
15

14

13

12

11

10

9

8

7

MT
K

Bit
Name
Type
Reset

6

5
4
3
2
SAMPLECOUNT [7:0]
R/W
0

1

0

When HIGHSPEED=3, the sample_count is the threshold value for UART sample counter (sample_num).

153/616

MediaTek Inc. Confidential

UARTn+002C
SAMPLE_POINT
h
Bit
Name
Type
Reset

15

14

13

12

11

UARTn_SAMPLE_POIN
T
10

9

8

7

6

5
4
3
2
SAMPLEPOINT [7:0]
R/W
ffh

13

12

11

10

9

8

7

6
5
4
BAUD_STAT[3:0]
RO
0

3

2
1
0
BAUDRATE[3:0]
RO
0

Re
lea
se

14

0

UARTn_AUTOBAUD_RE
G

UARTn+0030h AUTOBAUD_REG
15

1

fo
r

When HIGHSPEED=3, UART gets the input data when sample_count=sample_num.
e.g. system clock = 13MHz, 921600 = 13000000 / 14
sample_count = 14 and sample point = 7 (sample the central point to decrease the inaccuracy)

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MT
K

Co
nf
id
en
tia
l

BAUD_RATE Autobaud baud rate
0 115200
1 57600
2 38400
3 19200
4 9600
5 4800
6 2400
7 1200
8 300
9 110
BAUDSTAT Autobaud format
0 Autobaud is detecting
1 AT_7N1
2 AT_7O1
3 AT_7E1
4 AT_8N1
5 AT_8O1
6 AT_8E1
7 at_7N1
8 at_7E1
9 at_7O1
10 at_8N1
11 at_8E1
12 at_8O1
13 Autobaud detection fails

UARTn_AUTOBAUDSA
MPLE

UARTn+0038h AUTOBAUDSAMPLE
Bit
Name
Type

15

14

13

12

11

10

9

8

7

6
R/W

154/616

5

4
3
2
1
AUTOBAUDSAMPLE
R/W R/W R/W R/W R/W

0
R/W

MediaTek Inc. Confidential

Reset

Revision 1.0

dh

Since the system clock may change, autobaud sample duration should change as system clock changes.
clock = 13MHz, autobaudsample = 6; when system clock = 26MHz, autobaudsample = 13.

UARTn+003C
Guard time added register
h
15

14

13

12

11

10

9

When system

UARTn_GUARD
8

7

6

5

4

3

Name

GUARD_

Type
Reset

R/W
0

EN

2

1

0

GUARD_CNT[3:0]

fo
r

Bit

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

R/W
0

R/W
0

R/W
0

UARTn+0040h Escape character register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

Re
lea
se

GUARD_CNT Guard interval count value. Guard interval = (1/(system clock / 16 / div )) * GUARD_CNT.
GUARD_EN
Guard interval add enable signal.
0 No guard interval added.
1 Add guard interval after stop bit.

UARTn_ESCAPE_DAT

8

7

6

5
4
3
2
ESCAPE_DAT[7:0]
R/W
FFh

1

0

ESCAPE_DAT Escape character added before software flow control data and escape character, i.e. if tx data is xon
(31h), with esc_en =1, uart transmits data as esc + CEh (~xon).

UARTn+0044h Escape enable register
15

14

Name
Type
Reset

ESC_EN
0
1

13

12

11

10

9

8

7

Co
nf
id
en
tia
l

Bit

UARTn_ESCAPE_EN

6

5

4

15

2

1

0
ESC_E
N

R/W
0

Add escape character in transmitter and remove escape character in receiver by UART.
Do not deal with the escape character.
Add escape character in transmitter and remove escape character in receiver.

UARTn+0048h Sleep enable register
Bit

3

14

Name
Type
Reset

13

12

11

10

9

8

7

UARTn_SLEEP_EN
6

5

4

3

2

1

0
SELL
P_EN
R/W
0

MT
K

SLEEP_EN For sleep mode issue
0 Do not deal with sleep mode indicate signal
1 To activate hardware flow control or software control according to software initial setting when chip
enters sleep mode. Releasing hardware flow when chip wakes up; but for software control, uart sends
xon when awaken and when FIFO does not reach threshold level.

UARTn+004C
Virtual FIFO enable register
h
Bit

15

14

13

12

11

10

9

8

UARTn_VFIFO_EN
7

155/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

VFIF
O_EN
R/W
0

Name
Type
Reset

4.8

fo
r

VFIFO_EN Virtual FIFO mechanism enable signal.
0 Disable VFIFO mode.
1 Enable VFIFO mode. When virtual mode is enabled, the flow control is based on the DMA threshold,
and generates a timeout interrupt for DMA.

IrDA Framer

4.8.1

General Description

4.8.2

Register Definitions

IRDA+0000h
Bit
Name
Type
Reset

15

BUF

IrDA Framer transmit or receive data.
A write to this register writes into the internal TX FIFO.
A read from this register reads from the internal RX FIFO.

IRDA+0004h
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

Co
nf
id
en
tia
l

14

TX BUF and RX BUF

Re
lea
se

IrDA framer is implemented to reduce the CPU loading for IrDA transmissions by performing all the physical level
protocol framing in hardware. From a software perspective, the framer need only prepare and process the raw data for
transmission and reception. Generic DMA is required to move the data between IrDA framer’s internal FIFO and
software-designated memory. The IrDA framer supports IrDA SIR, MIR, and FIR modes of operation. SIR mode
includes operation from 9600bps ~ 115200bps, MIR includes operation at 567000bps or 1152000bps, and FIR mode
includes operation at 4Mbps.

6

5

4
3
BUF[7:0]
R/W
0

TX BUF and RX BUF clear signal
13

12

11

10

9

8

7

BUF
2

1

0

BUF_CLEAR
6

5

4

3

2

1

0
CLEAR

R/W
0

CLEAR SIR mode only. When CLEAR=1, both the TX and RX FIFO are cleared. This is used primarily for debug
purpose. Normal operation does not require this. This control signaled can only be issued under SIR mode.

IRDA+0008h
Bit
Name
Type
Reset

15

14

Maximum Turn Around Time
13

12

11

10

9

8

7
6
MAX_T [13:0]
R/W
3E80h

MAX_T
5

4

3

2

1

0

MT
K

MAX_T The maximum time that a station can hold the P/F bit. This parameter along with the baud rate parameter
dictates the maximum number of bytes that a station can transmit before passing the line to another station by
transmitting a frame with the P/F bit. This parameter is used by one station to indicate the maximum time the
other station can send before it must turn the link around. For baud rates less than 115200 kbps, 500 ms is
the only valid value. The default value is 500 ms.
156/616

MediaTek Inc. Confidential

IRDA+000Ch
Bit
Name
Type
Reset

15

Revision 1.0

Minimum Turn Around Time

14

13

12

11

10

9

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MIN_T

8
7
MIN_T [15:0]
R/W
FDE8h

6

5

4

3

2

1

0

fo
r

MIN_T Minimum turn around time, the default value is 10 ms. The minimum turn around time parameter deals with
the time needed for a receiver to recover following saturation by transmission from the same device. This
parameter corresponds to the required time delay between the last byte of the last frame sent by a station and
the point at which it is ready to receive the first byte of a frame from another station, i.e. the latency for a
transmit to complete and be ready to receive.

Number of additional BOFs prefixed to the beginning
of a frame

Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7
TYPE
R/W
0

6

5

4

BOFS

3
2
BOFS [6:0]
R/W
1011b

Re
lea
se

IRDA+0010h

1

0

IRDA+0014h
14

Co
nf
id
en
tia
l

BOFs For SIR mode: the additional BOFs parameter indicates the number of additional flags needed at the beginning
of every frame. The main purpose for the additional BOFs is to provide a delay at the beginning of each frame
for devices with a long interrupt latency.
For MIR mode: This parameter indicates the number of double STA’s to transmit in the beginning. This value
should be set to 0 (for default 2 STA’s) for MIR mode, unless more are required.
For FIR mode: This parameter has no effect.
TYPE SIR mode only. Additional BOFs type.
1 BOF = C0h
0 BOF = FFh

Baud rate divisor

Bit
Name
Type
Reset

15

DIV

Transmit or receive rate divider. Rate = System clock frequency / DIV/ 16. The default value is 55h when
in contention mode. This divisor is also used to determine the RX FIFO timeout threshold.

IRDA+0018h
Bit
Name
Type
Reset

15

14

TX_FRAME_SIZE

Bit
Name
Type
Reset

15

14

12

11

10

9

8
7
DIV[15:0]
R/W
55h

6

5

4

3

13

12

11

10

9

8

7
6
5
4
TX_FRAME_SIZE[11:0]
R/W
40h

2

1

0

TX_FRAME_SIZ
E

Transmit frame size

3

2

1

0

Transmit frame size; the default value is 64 when in contention mode.

RX_FRAME1_SI
ZE

Receiving frame1 size

MT
K

IRDA+001Ch

13

DIV

13

12

11

10

9

8

7
6
5
4
RX_FRAME1_SIZE[11:0]
RO
0

157/616

3

2

1

0

MediaTek Inc. Confidential

RX_FRAME1_SIZE Reports the number of byte received.

IRDA+0020h
Bit

15

14

Revision 1.0

Includes only the A+C+I fields.

Transmit abort indication
13

12

11

10

9

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

ABORT

8

7

6

5

4

3

2

Name
Type
Reset

1

0
ABO
RT
R/W
0

Bit

15

14

IrDA framer transmit enable signal
13

12

11

10

9

8

7

6

5

4

3

2

1

0
TX_E
MODE
N
R/W R/W R/W
0
0
0

TX_ON TXINVE
E
RT

Name
Type
Reset

R/W
0

IRDA+0028h
15

14

Name
Type
Reset

Co
nf
id
en
tia
l

TX_EN Transmit enable.
MODE SIR mode only. Modulation type selection.
0 3/16 modulation
1 1.61us
TXINVERT Invert the transmit signal.
0 Transmit signal is not inverted.
1 Transmit signal is inverted.
TX_ONE: Controls the transmit enable signal is one or not.
0 tx_en is not de-asserted until software programs a so.1
automatically after one frame has been sent.

Bit

TX_EN

Re
lea
se

IRDA+0024h

fo
r

ABORT SIR mode only. When set 1, the framer transmits an abort sequence and closes the frame without an FCS field
or an ending flag.
Note: Tx abort can be achieved in MIR and FIR by simply disabling the tx_en signal.

tx_en is de-asserted (i.e. transmit disabled)

IrDA framer receive enable signal
13

12

11

10

9

8

7

RX_EN
6

5

4

3

2

1

0
RX_E
N
R/W R/W
0
0

RX_ON RXINVE
E
RT

R/W
0

RX_EN Receive enable.
RXINVERT Invert the receive signal.
0 Receive signal is not inverted.
1 Receive signal is inverted.
RX_ONE Disable receive when get one frame.
0 rx_en is not de-asserted until software programs so.
1 rx_en is de-asserted (i.e. transmit disabled) automatically after one frame has been sent.

FIFO trigger level indication

MT
K

IRDA+002Ch
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

TRIGGER
7

158/616

6

5

4

3
2
RX_TRIG[
R/W
0

1
0
TX_TRIG
R/W
0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Bit

15

14

IRQ enable signal
13

IRQ_ENABLE

12
11
10
9
8
7
6
5
4
3
2
1
0
THRE FIFOTI
MAXTI MINTI RXCO TXCO
2NDR
RXRE
TXABO RXABO
ERRO RXTH TXTH
SHTIM MEOU
MEOU MEOU MPLET MPLET
X_CO
R
RES RES
START
RT
RT
EOUT
T
T
T
E
E
MP
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0
0

Re
lea
se

IRDA+0030h

fo
r

TX_TRIG TX FIFO interrupt trigger threshold. When the amount of data in the TX FIFO is less than the specified
amount, dma req is asserted. (When TX_TRIG = 03, dma req is always asserted as long as FIFO is not full.)
00 0 byte
01 1 byte
02 8 byte
03 16 byte
RX_TRIG RX FIFO interrupt trigger threshold. When the amount of data in RX FIFO is above the specified
amount, dma req is asserted.
00 1 byte
01 2 byte
02 3 byte

Name
Type
Reset

MT
K

Co
nf
id
en
tia
l

TXRES Transmit data reaches the threshold level. (For debug only. Should be set to 0.)
0 No interrupt is generated.
1 Interrupt is generated when transmit FIFO size reaches threshold.
RXRES Receive data reaches the threshold level. (For debug only. Should be set to 0.)
0 No interrupt is generated.
1 Interrupt is generated when receive FIFO size reaches threshold.
ERROR
Error status interrupt enable.
0 No interrupt is generated.
1 Interrupt is generated when one of the error statuses occurs.
TXCOMPLETE Transmit one frame completely.
0 No interrupt is generated.
1 Interrupt is generated when transmitting one frame completely.
RXCOMPLETE Receive one frame completely.
0 No interrupt is generated.
1 Interrupt is generated when receiving one frame completely.
MINTIMEOUT Minimum time timeout.
0 No interrupt is generated.
1 Interrupt is generated when minimum timer is timed out.
MAXTIMEOUT Maximum time timeout.
0 No interrupt is generated.
1 Interrupt is generated when maximum timer is timed out.
RXABORT Receiving aborting frame.
0 No interrupt is generated.
1 Interrupt is generated when receiving aborting frame.
TXABORT SIR mode only. Transmitting aborting frame.
0 No interrupt is generated.
1 Interrupt is generated when transmitting aborting frame.
FIFOTIMEOUT FIFO timeout.
0 No interrupt is generated.

159/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Bit

15

14

Interrupt Status
13

Name
Type
Reset

IRQ_STA

12
11
10
9
2NDR
THRE FIFOTI
RXRE
X_CO
SHTIM MEOU
START
MP
EOUT
T
RC
RC
RC
RC
0
0
0
0

8

7

6

5

4

3

2

1

0

MAXTI MINTI RXCO TXCO
TXABO RXABO
ERRO RXTR TXTRE
MEOU MEOU MPLET MPLET
RT
RT
R
ES
S
T
T
E
E

RC
0

Re
lea
se

IRDA+0034h

fo
r

1 Interrupt is generated when FIFO timeout.
THRESHTIMEOUT Threshold time timeout.
0 No interrupt is generated.
1 Interrupt is generated when threshold timer is timed out.
RXRESTART SIR mode only. Receiving a new frame before one frame is received completely.
0 No interrupt is generated.
1 Interrupt is generated when receiving a new frame before one frame is received completely.
2NDRX_COMP Receiving second frame and get P/F bit.
0 No interrupt is generated.
1
Interrupt is generated when receiving second frame and get P/F bit completely.

RC
0

RC
0

RC
0

RC
0

RC
0

RC
0

RC
0

RC
0

IRDA+0038h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

TXFIFO Transmit FIFO reaches threshold. (For debug only. Not recommended for normal usage.)
RXFIFO
Receive FIFO reaches threshold. (For debug only. Not recommended for normal usage.)
ERROR Generated when any of status in Error Status register occurs.
Once the source of an interrupt is determined to be caused by an error (bit 2), the error status register should
be read. Once read, both the error status register and the interrupt source are read-cleared. If the error
status register indicates either a frame 1 or frame 2 error, the corresponding frame status register should be
read.
TXCOMPLETE Transmitting one frame completely.
RXCOMPLETE Receiving one frame completely.
MINTIMEOUT Minimum turn around time timeout.
MAXTIMEOUT Maximum turn around time timeout.
RXABORT
Receiving aborting frame.
TXABORT
Transmitting aborting frame.
FIFOTIMEOUT FIFO is timeout.
THRESHTIMEOUT Threshold time timeout.
RXRESTART
Receiving a new frame before one frame is received completely.
2NDRX_COMP Receiving second frame and get P/F bit completely.

ERROR STATUS register
13

12

11

10

9

8

7

ERR_STATUS
6

5

4

3

2

1

0

TX FIFO FRAME FRAME
RESER RESER OVER RXSIZ
UNDERR 2 DATA 1 DATA
VED2
VED
RUN
E
UN
ERR
ERR

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MT
K

RXSIZE
Receive frame size error.
OVERRUN Frame overrun.
RESERVED
Reserved for future use.
RESERVED2 Reserved for future use.
FRAME1 DATA ERR Indicates that an error condition occurred in RX frame1. Must check the RX frame1 status.
FRAME2 DATA ERR Indicates that an error condition occurred in RX frame2. Must check the RX frame2 status.

160/616

MediaTek Inc. Confidential

TX FIFO UNDERRUN MIR and FIR mode only.
TX FIFO underrun has occurred. Data transmission is aborted.
signal.

Bit

15

Software must reset the tx_en

Transceiver power on/off control. Transceiver mode
select.

IRDA+003Ch
14

13

12

11

10

9

8

7

6

5

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

4

TRANSCEIVER
_PDN

3

2

TXCVR

Name

1

0

TX

TRANS_

CONFIG MANUAL

R/W
0

R/W
0

fo
r

Type
Reset

PDN

R/W
0

IRDA+0040h
Bit
Name
Type
Reset

15

Re
lea
se

TRANSCEIVER_PDN
Used for power on/off control for external IrDA transceiver.
TX_MANUAL
When txcvr config is set to 1, this bit can be used to select the operation mode of the external IrDA
transceiver (some transceivers require selection between high speed and low speed operating modes), by
software programming the desired sequence to transmit through the irda_txd pin.
TXCVR CONFIG
Irda_txd comes from core logic.
0
1
Irda_txd depends on tx_manual value.

RX_FRAME_MA
X

Maximum number of receiving frame size

14

13

12

11

10

9

8

7
6
5
4
MAX_RX_FRAME_SIZE_
R/W
0

3

2

1

0

IRDA+0044h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

RX_FRAME_MAX Receive frame I field max size, when actual receiving frame size is larger than rx_frame_max,
RXSIZE is asserted. The maximum allowed I field size is 2048.

Threshold Time
13

12

11

10

THRESH_T

9
8
7
6
DISCONNECT_TIME[15:0]
R/W
bb8h

5

4

3

2

1

0

THRESHOLD TIME Threshold time; used to control the time a station waits without receiving a valid frame before
disconnecting the link. Associated with this is the time a station waits without receiving a valid
frame before sending a status indication to the service user layer.

IRDA+0048h
Bit

15

14

Name
Type
Reset

13

IRDA+004Ch
Bit

15

14

12

11

10

9

8

7

6

5

4

3

2
THRESH
_EN

R/W
0

1

0

MIN_E MAX_
N
EN

R/W
0

R/W
0

Counter enable signals.

MT
K

COUNT_ENABLE

COUNT_ENABL
E

Counter enable signal

Indication of system clock rate
13

12

11

10

9

8

CLOCK_RATE
7

Name

161/616

6

5

4

3

2

1
0
CLOCK_RA
TE

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Type
Reset

R/W
0

CLOCK_RATE
SIR mode only Indication of the system clock rate.
0 26 MHz
1 52 MHz
2 13 MHz

Bit

15

14

System Clock Rate Fix
13

12

11

10

9

RATE_FIX

8

7

6

5

4

3

2

1

fo
r

IRDA+0050h

0

CRC
SIR
RATE_
REPOR FRAMI
FIX
T
NG SET

Name
Type
Reset

R/W
0

R/W
0

R/W
0

IRDA+0054h
Bit

15

14

FRAME1_STAT
US

RX Frame1 Status
13

12

11

10

Re
lea
se

RATE_FIX SIR mode only Fix the IrDA framer sample base clock rate as 13 MHz.
0 Clock rate based on clock_rate selection.
1 Clock rate fixed at 13 MHz.
SIR FRAMING SET SIR mode only. Framing error check condition.
0 Ignore the STOP bit of the last byte of a frame.
1 Check the STOP bit of the last byte of a frame.
CRC REPORT When set to 1, CRC error is reported via error status register and error interrupt.

9

8

7

Type
Reset

Co
nf
id
en
tia
l

Name

6

5

FIR
STO
ERR

FIR
4PPM
ERR

R/W
0

R/W
0

4

3

2

1

0

MIR
UNKNO
PF_DET CRC_FAI FRAME_
HDLC W_ERRO
ECT
L
ERROR
ERR
R

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MT
K

FRAME_ERROR
SIR mode only. Framing error, i.e. STOP bit = 0.
0 No framing error
1 Framing error occurred
CRC_FAIL CRC check fail
2 CRC check successfully
3 CRC check fail
PF_DETECT P/F bit detect
0 Not a P/F bit frame
1 Detected P/F bit in this frame
UNKNOWN_ERROR SIR mode only. Receiving error data, i.e. escape character is followed by a character that is
not an ESC, BOF, or EOF character.
0 Data received correctly.
1 Unknown error occurred.
MIR HDLC ERR
MIR mode only. MIR HDLC encoding error
0 No error
1 Error
FIR 4PPM ERR FIR mode only. FIR 4ppm encoding error
0 No error
1 Error

162/616

MediaTek Inc. Confidential

Revision 1.0

FIR STO ERR
FIR mode only. FIR STO sequence error
0 No error
1 Error

Bit

15

14

FRAME2_STAT
US

RX Frame2 Status
13

12

11

10

9

8

7

Name
Type
Reset

6

5

FIR
STO
ERR

FIR
4PPM
ERR

R/W
0

R/W
0

4

3

2

1

0

MIR
UNKNO
PF_DET CRC_FAI FRAME_
HDLC W_ERRO
ECT
L
ERROR
ERR
R

R/W
0

fo
r

IRDA+0058h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

R/W
0

R/W
0

R/W
0

IRDA+005Ch
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

Re
lea
se

FRAME_ERROR
SIR mode only. Framing error, i.e. STOP bit = 0
0 No framing error.
1 Framing error occurred.
CRC_FAIL CRC check fail.
0 CRC check successfully.
1 CRC check fail.
PF_DETECT P/F bit detect.
0 Not a P/F bit frame.
1 Detected P/F bit in this frame.
UNKNOWN_ERROR SIR mode only. Receiving error data, i.e. escape character is followed by a character that is
not an ESC, BOF, or EOF character.
0 Data receiving correctly.
1 Unknown error occurred.
MIR HDLC ERR
MIR mode only. MIR HDLC encoding error.
0 No error
1 Error
FIR 4PPM ERR FIR mode only.FIR 4ppm encoding error
0 No error
1 Error
FIR STO ERR
FIR mode only.FIR STO sequence error
0 No error
1 Error

13

12

11

10

9

8

RX_FRAME2_SIZE Reports the number of byte received.

IRDA+0060h
15

14

7
6
5
4
RX_FRAME2_SIZE[11:0]
RO
0

3

13

12

11

10

2

1

0

Includes only the A+C+I fields.

Irda Mode Select

MT
K

Bit

RX_FRAME2_SI
ZE

Receiving frame2 size

IRDA_MODE
9

8

7

6

5

4

3

2
MIR

Name

SPEED

Type
Reset

R/W
0

163/616

1

0

IRDA MODE

R/W
00

MediaTek Inc. Confidential

IRDA MODE
Selects the IrDA operating mode.
or receiving.
00 IR mode
01 MIR mode
10 FIR mode
MIR SPEED
Select the MIR speed.
0 0.576 Mbps
1 1.152 Mbps

Bit

15

14

NOTE: this mode selection cannot be issued while transmitting

Fifo Status
13

12

fo
r

IRDA+0064h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

FIFO_STAT

11

10

9

8

7

6

5

4

3

2

1

0

RX
TX FIFO
RX FIFO
TX FIFO
RX FIFO
FIFO
RD
RD
WR FULL
WR FULL
HOLD
EMPTY
EMPTY

Name

RO
0

RO
0

Re
lea
se

Type
Reset

RO
1

RO
0

RO
1

This register indicates the real time FIFO status, for monitoring purposes.

4.9

Real Time Clock

4.9.1

General Description

4.9.2

Register Definitions

RTC+0000h
Bit
Name
Type

Co
nf
id
en
tia
l

The Real Time Clock (RTC) module provides time and data information. The clock is based on a 32.768KHz
oscillator with an independent power supply. When the mobile handset is powered off, a dedicated regulator supplies
the RTC block. If the main battery is not present, a backup supply such as a small mercury cell battery or a large
capacitor is used. In addition to providing timing data, an alarm interrupt is generated and can be used to power up
the baseband core via the BBWAKEUP pin. Regulator interrupts corresponding to seconds, minutes, hours and days
can be generated whenever the time counter value reaches a maximum value (e.g., 59 for seconds and minutes, 23 for
hours, etc.). The year span is supported up to 2127. The maximum day-of-month values, which depend on the leap
year condition, are stored in the RTC block.

15

14

Baseband power up
13

12

11

10

9

8

7

KEY_BBPU
W

RTC_BBPU
6

5

4

3

2

AUTO BBPU
R/W

R/W

1

0

WRITE_E

PWRE
N

N

R/W

R/W

MT
K

KEY_BBPU
A bus write is acceptable only when KEY_BBPU=0x43.
AUTO Controls if BBWAKEUP is automatically in the low state when SYSRST# transitions from high to low.
0 BBWAKEUP is not automatically in the low state when SYSRST# transitions from high to low.
1 BBWAKEUP is automatically in the low state when SYSRST# transitions from high to low.
BBPU Controls the power of PMIC. If powerkey1=A357h and powerkey2=67D2h, PMIC takes on the value
programmed by software; otherwise PMIC is low.
0 Power down
1 Power on
WRITE_EN When WRITE_EN is set to 0 by the software program, the RTC write interface is disabled until another
system power on.
164/616

MediaTek Inc. Confidential

PWREN
0
1

RTC alarm has no action on power switch.
When an RTC alarm occurs, BBPU is set to 1, and the system powers on by RTC alarm wakeup.

RTC+0004h
Bit

15

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

14

RTC IRQ status
13

12

11

RTC_IRQ_STA
10

9

8

7

6

5

4

3

2

Name
Type

1
0
TCST ALST
A
A
R/C R/C

RTC+0008h
Bit

15

14

RTC IRQ enable
13

12

11

10

9

8

Name WING
Type

R/O

Re
lea
se

fo
r

ALSTA This register indicates the IRQ status and whether or not the alarm condition has been met.
0 No IRQ occurred; the alarm condition has not been met.
1 IRQ occurred; the alarm condition has been met.
TCSTA This register indicates the IRQ status and whether or not the tick condition has been met.
0 No IRQ occurred; the tick condition has not been met.
1 IRQ occurred; the tick condition has been met.

7

6

5

4

3

RTC_IRQ_EN
2

1
0
TC_E AL_E
N
N
R/W R/W R/W

ONESH
OT

RTC+000Ch
Bit

15

Name WING
Type

R/O

14

Co
nf
id
en
tia
l

ONESHOT Controls automatic reset of AL_EN and TC_EN.
AL_EN This register enables the control bit for IRQ generation if the alarm condition has been met.
0 Disable IRQ generation.
1 Enable the alarm time match interrupt. Clear the interrupt when ONESHOT is high upon generation of
the corresponding IRQ.
TC_EN This register enables the control bit for IRQ generation if the tick condition has been met.
0 Disable IRQ generation.
1 Enable the tick time match interrupt. Clear the interrupt when ONESHOT is high upon generation of the
corresponding IRQ.
WING This bit indicates that RTC is still writing to this register.

Counter increment IRQ enable
13

12

11

10

9

8

RTC_CII_EN

7

6
5
4
3
2
1
0
YEAC MTHC DOW DOM HOUC MINCI SECC
II
II
CII
CII
II
I
II
R/W R/W R/W R/W R/W R/W R/W R/W

1/8SEC 1/4SEC 1/2SEC
CII
CII
CII

R/W

R/W

This register activates or de-activates the IRQ generation when the TC counter reaches its maximum value.

MT
K

SECCII Set this bit to 1 to activate the IRQ at each second update.
MINCII Set the bit to 1 to activate the IRQ at each minute update.
HOUCII Set the bit to 1 to activate the IRQ at each hour update.
DOMCII
Set the bit to 1 to activate the IRQ at each day-of-month update.
DOWCII
Set the bit to 1 to activate the IRQ at each day-of-week update.
MTHCII Set the bit to 1 to activate the IRQ at each month update.
YEACII Set the bit to 1 to activate the IRQ at each year update.
1/2SECCII Set the bit to 1 to activate the IRQ at each one-half of a second update.
1/4SECCII Set the bit to 1 to activate the IRQ at each one-fourth of a second update.
1/8SECCII Set the bit to 1 to activate the IRQ at each one-eighth of a second update.

165/616

MediaTek Inc. Confidential

Revision 1.0

WING This bit indicates RTC is still writing to this register.

RTC+0010h
Bit

15

14

RTC alarm mask
13

12

11

10

RTC_AL_MASK
9

8

7

6

5

4

3

2

1

0

YEA_M MTH_M DOW_M DOM_M HOU_M MIN_M SEC_M
SK
SK
SK
SK
SK
SK
SK

Name WING
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/O

R/W

R/W

R/W

R/W

R/W

R/W

R/W

fo
r

The alarm condition for alarm IRQ generation depends on whether or not the corresponding bit in this register is
masked.

RTC+0014h
14

RTC seconds time counter register
13

MT
K

Bit
15
Name WING
Type R/O

Co
nf
id
en
tia
l

Re
lea
se

SEC_MSK
0 Condition (RTC_TC_SEC = RTC_AL_SEC) is checked to generate the alarm signal.
1 Condition (RTC_TC_SEC = RTC_AL_SEC) is masked, i.e. the value of RTC_TC_SEC does not affect
the alarm IRQ generation.
MIN_MSK
0 Condition (RTC_TC_MIN = RTC_AL_MIN) is checked to generate the alarm signal.
1 Condition (RTC_TC_MIN = RTC_AL_MIN) is masked, i.e. the value of RTC_TC_MIN does not affect
the alarm IRQ generation.
HOU_MSK
0 Condition (RTC_TC_HOU = RTC_AL_HOU) is checked to generate the alarm signal.
1 Condition (RTC_TC_HOU = RTC_AL_HOU) is masked, i.e. the value of RTC_TC_HOU does not affect
the alarm IRQ generation.
DOM_MSK
0 Condition (RTC_TC_DOM = RTC_AL_DOM) is checked to generate the alarm signal.
1 Condition (RTC_TC_DOM = RTC_AL_DOM) is masked, i.e. the value of RTC_TC_DOM does not
affect the alarm IRQ generation.
DOW_MSK
0 Condition (RTC_TC_DOW = RTC_AL_DOW) is checked to generate the alarm signal.
1 Condition (RTC_TC_DOW = RTC_AL_DOW) is masked, i.e. the value of RTC_TC_DOW does not
affect the alarm IRQ generation.
MTH_MSK
0 Condition (RTC_TC_MTH = RTC_AL_MTH) is checked to generate the alarm signal.
1 Condition (RTC_TC_MTH = RTC_AL_MTH) is masked, i.e. the value of RTC_TC_MTH does not affect
the alarm IRQ generation.
YEA_MSK
0 Condition (RTC_TC_YEA = RTC_AL_YEA) is checked to generate the alarm signal.
1 Condition (RTC_TC_YEA = RTC_AL_YEA) is masked, i.e. the value of RTC_TC_YEA does
not affect the alarm IRQ generation.
WING This bit indicates RTC is still writing to this register.

12

11

10

9

8

TC_SECOND The second initial value for the time counter.
WING This bit indicates RTC is still writing to this register.

RTC+0018h
Bit

15

14

7

RTC_TC_SEC
6

5

4

3
2
TC_SECOND
R/W

12

11

10

9

8

0

The range of its value is: 0-59.

RTC minutes time counter register
13

1

7

166/616

RTC_TC_MIN
6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name WING
Type R/O

TC_MINUTE
R/W

TC_MINUTE The minute initial value for the time counter.
WING This bit indicates RTC is still writing to this register.

14

The range of its value is: 0-59.

RTC hours time counter register
13

12

11

10

9

8

RTC_TC_HOU

7

6

5

4

TC_HOUR The hour initial value for the time counter. The range of its value is: 0-23.
WING This bit indicates RTC is still writing to this register.

Bit
15
Name WING
Type R/O

14

RTC day-of-month time counter register
13

12

11

10

9

8

TC_DOM

7

6

2
1
TC_HOUR
R/W

0

RTC_TC_DOM

5

4

3

2
1
TC_DOM
R/W

Re
lea
se

RTC+0x0020

3

fo
r

RTC+001Ch
Bit
15
Name WING
Type R/O

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0

The day-of-month initial value for the time counter. The day-of-month maximum value depends on the
leap year condition, i.e. 2 LSB of year time counter are zeros.
WING This bit indicates RTC is still writing to this register.

RTC+0x0024
Bit
15
Name WING
Type R/O

14

RTC day-of-week time counter register
13

12

11

10

9

8

7

RTC+0x0028
Bit
15
Name WING
Type R/O

14

5

4

3

RTC month time counter register
13

12

11

10

9

8

TC_MONTH
The month initial value for the time counter.
WING This bit indicates RTC is still writing to this register.

7

14

13

12

11

10

9

8

1
0
TC_DOW
R/W

RTC_TC_MTH
6

5

4

3

2
1
TC_MONTH
R/W

0

The range of its value is: 1-12.

RTC+0x002C RTC year time counter register
Bit
15
Name WING
Type R/O

2

The range of its value is: 1-7.

Co
nf
id
en
tia
l

TC_DOW
The day-of-week initial value for the time counter.
WING This bit indicates RTC is still writing to this register.

6

RTC_TC_DOW

7

RTC_TC_YEA
6

5

4
3
2
AL_SECOND
R/W

1

0

TC_YEAR
The year initial value for the time counter. The range of its value is: 0-127. (2000-2127)
WING This bit indicates RTC is still writing to this register.

RTC+0x0030
14

13

12

11

10

9

8

7

MT
K

Bit
15
Name WING
Type R/O

RTC second alarm setting register

AL_SECOND The second value of the alarm counter setting.
WING This bit indicates RTC is still writing to this register.

167/616

RTC_AL_SEC
6

5

4

3
2
AL_SECOND
R/W

1

0

The range of its value is: 0-59.

MediaTek Inc. Confidential

Bit
15
Name WING
Type R/O

14

RTC minute alarm setting register
13

12

11

10

9

8

7

AL_MINUTE The minute value of the alarm counter setting.
WING This bit indicates RTC is still writing to this register.

RTC+0x0038
Bit
15
Name WING
Type R/O

14

RTC_AL_MIN
6

5

4

3
2
AL_MINUTE
R/W

The range of its value is: 0-59.

RTC hour alarm setting register
13

12

11

10

9

8

1

0

RTC_AL_HOU
7

6

5

4

fo
r

RTC+0x0034

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

2
1
AL_HOUR
R/W

0

Re
lea
se

AL_HOUR
The hour value of the alarm counter setting. The range of its value is: 0-23.
WING This bit indicates RTC is still writing to this register.

RTC+0x003C RTC day-of-month alarm setting register
Bit
15
Name WING
Type R/O

14

13

12

11

10

9

8

AL_DOM

7

6

5

4

3

RTC_AL_DOM

2
1
AL_DOM
R/W

0

The day-of-month value of the alarm counter setting. The day-of-month maximum value depends on
the leap year condition, i.e. 2 LSB of year time counter are zeros.
WING This bit indicates RTC is still writing to this register.

Bit
15
Name WING
Type R/O

14

RTC day-of-week alarm setting register
13

12

11

10

9

8

7

Co
nf
id
en
tia
l

RTC+0x0040

AL_DOW
The day-of-week value of the alarm counter setting.
WING This bit indicates RTC is still writing to this register.

RTC+0x0044
Bit
15
Name WING
Type R/O

14

Bit
15
Name WING
Type R/O

14

5

4

3

13

12

11

10

9

8

7

12

11

10

9

8

MT
K

AL_YEAR
The year value of the alarm counter setting.
WING This bit indicates RTC is still writing to this register.

6

5

4

3

14

13

12

11

10

9

8

2
1
AL_MONTH
R/W

0

The range of its value is: 1-12.

7

RTC_AL_YEA
6

5

4

3
2
AL_YEAR
R/W

1

0

The range of its value is: 0-127. (2000-2127)

RTC_XOSCCAL
I

RTC+0x004C XOSC bias current control register
Bit
15
Name WING
Type R/O

1
0
AL_DOW
R/W

RTC_AL_MTH

RTC year alarm setting register
13

2

The range of its value is: 1-7.

RTC month alarm setting register

AL_MONTH
The month value of the alarm counter setting.
WING This bit indicates RTC is still writing to this register.

RTC+0x0048

6

RTC_AL_DOW

7

168/616

6

5

4

3

2
1
XOSCCALI
WO

0

MediaTek Inc. Confidential

XOSCCALI
This register controls the XOSC32 bias current.
XOSCCALI value is 11111b.
WING This bit indicates RTC is still writing to this register.

Bit
Name
Type

15

14

13

12

11

10

9
8
7
6
RTC_POWERKEY1
R/W

5

4

13

12

11

10

2

1

0

RTC_POWERK
EY2

RTC_POWERKEY2 register

14

3

9
8
7
6
RTC_POWERKEY2
R/W

5

4

3

2

1

0

Re
lea
se

15

RTC_POWERK
EY1

RTC_POWERKEY1 register

RTC+0054h
Bit
Name
Type

Before the first program by software, the

fo
r

RTC+0050h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

These register sets are used to determine if the real time clock has been programmed by software; i.e. the time value in
real time clock is correct. When the real time clock is first powered on, the register contents are all undefined,
therefore the time values shown are incorrect. Software needs to know if the real time clock has been programmed.
Hence, these two registers are defined to solve this power-on issue. After software programs the correct value, these
two register sets do not need to be updated. In addition to programming the correct time value, when the contents of
these register sets are wrong, the interrupt is not generated. Therefore, the real time clock does not generate the
interrupts before the software programs the registers; unwanted interrupt due to wrong time value do not occur. The
correct values of these two register sets are:

RTC+0058h
Bit

15

Co
nf
id
en
tia
l

RTC_POWERKEY1 A357h
RTC_POWERKEY2 67D2h

14
DBIN
Name WING
G
Type R/O R/O

PDN1
13

12

11

10

9

8

7

RTC_PDN1
6

5

4

3

2

1

0

RTC_PDN1[7:0]
R/W

MT
K

RTC_PDN1[3:1] is for reset de-bounce mechanism.
0
4ms
1
16ms
2
64ms
3
256ms
4
512ms
5
1024ms
6
2048ms
7
4096ms
RTC_PDN1[7:4] & RTC_PDN1[0] is the spare register for software to keep power on and power off state
information.
DBING This bit indicates RTC is still de-bouncing.
WING This bit indicates RTC is still writing to this register.

RTC+005Ch
Bit

15

14

PDN2
13

RTC_PDN2
12

11

10

9

8

7

169/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name WING
Type R/O

RTC_PDN2[7:0]
R/W

RTC_PDN2 The spare register for software to keep power on and power off state information.
WING This bit indicates RTC is still writing to this register.

RTC+0060h
Bit

15

14

RTC writing completed flag
13

12

11

10

9

RTC_WOK

8

7

6

5

4

3

Type

Auxiliary ADC Unit

Re
lea
se

WING1 This bit indicates RTC is still writing POWERKEY1.
WING2 This bit indicates RTC is still writing POWERKEY2.
WING3
This bit indicates RTC is still writing BBPU.

2
1
0
WING WING WING
3
2
1
R/O R/O R/O

fo
r

Name

4.10

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The auxiliary ADC unit is used to monitor the status of the battery and charger, to identify the plugged peripheral, and
to perform temperature measurement. Seven input channels allow diverse applications in this unit.
Each channel can operate in one of two modes: immediate mode and timer-triggered mode. The mode of each
channel can be individually selected through register AUXADC_CON0. For example, if the flag SYN0 in the register
AUXADC_CON0 is set, the channel 0 is set in timer-triggered mode. Otherwise, the channel operates in immediate
mode.

Co
nf
id
en
tia
l

In immediate mode, the A/D converter samples the value once only when the flag in the AUXADC_CON1 register has
been set. For example, if the flag IMM0 in AUXADC_CON1 is set, the A/D converter samples the data for channel 0.
The IMM flags must be cleared and set again to initialize another sampling.
The value sampled for channel 0 is stored in register AUXADC_DAT0, the value for channel 1 is stored in register
AUXADC_DAT1, etc.
If the AUTOSET flag in the register AUXADC_CON3 is set, the auto-sample function is enabled. The A/D converter
samples the data for the channel in which the corresponding data register has been read. For example, in the case
where the SYN1 flag is not set, the AUTOSET flag is set, when the data register AUXADC_DAT0 has been read, the
A/D converter samples the next value for channel 1 immediately.
If multiple channels are selected at the same time, the task is performed sequentially on every selected channel. For
example, if AUXADC_CON1 is set to 0x7f, that is, all 7 channels are selected, the state machine in the unit starts
sampling from channel 6 to channel 0, and saves the values of each input channel in the respective registers. The
same process also applies in timer-triggered mode.

MT
K

In timer-triggered mode, the A/D converter samples the value for the channels in which the corresponding SYN flags
are set when the TDMA timer counts to the value specified in the register TDMA_AUXEV1, which is placed in the
TDMA timer. For example, if AUXADC_CON0 is set to 0x7f, all 7 channels are selected to be in timer-triggered
mode. The state machine samples all 7 channels sequentially and save the values in registers from AUXADC_DAT0
to AUXADC_DAT6, as it does in immediate mode.
There is a dedicated timer-triggered scheme for channel 0. This scheme is enabled by setting the SYN7 flag in the
register AUXADC_CON2. The timing offset for this event is stored in the register TDMA_AUXEV0 in the TDMA
timer. The sampled data triggered by this specific event is stored in the register AUXADC_DAT7. It is used to
separate the results of two individual software routines that perform actions on the auxiliary ADC unit.
170/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The AUTOCLRn in the register AUXADC_CON3 is set when it is intended to sample only once after setting
timer-triggered mode. If AUTOCLR1 flag has been set, after the data for the channels in timer-triggered mode has
been stored, the SYNn flags in the register AUXADC_CON0 are cleared. If AUTOCLR0 flag has been set, after the
data for the channel 0 has been stored in the register AUXADC_DAT7, the SYN7 flag in the register AUXADC_CON2
is cleared.
The usage of the immediate mode and timer-triggered mode are mutually exclusive in terms of individual channels.

4.10.1

fo
r

The PUWAIT_EN bit in the registers AUXADC_CON3 is used to power up the analog port in advance. This ensures
that the power has ramped up to the stable state before A/D converter starts the conversion. The analog part is
automatically powered down after the conversion is completed.

Register Definitions

AUXADC+000
Auxiliary ADC control register 0
0h
15

14

13

12

11

10

9

8

Re
lea
se

Bit
Name
Type
Reset

AUXADC_CON0

7

6
5
4
3
2
1
0
SYN6 SYN5 SYN4 SYN3 SYN2 SYN1 SYN0
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

SYNn These 7 bits define whether the corresponding channel is sampled or not in timer-triggered mode. It is
associated with timing offset register TDMA_AUXEV1. It supports multiple flags. The flags can be
automatically cleared after those channel have been sampled if AUTOCLR1 in the register AUXADC_CON3
is set.
0 The channel is not selected.
1 The channel is selected.

14

Co
nf
id
en
tia
l

AUXADC+000
Auxiliary ADC control register 1
4h
13

12

11

10

9

8

7

AUXADC_CON1

Bit
Name
Type
Reset

15

6
5
4
3
2
1
0
IMM6 IMM5 IMM4 IMM3 IMM2 IMM1 IMM0
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

IMMn

These 7 bits are set individually to sample the data for the corresponding channel.
0 The channel is not selected.
1 The channel is selected.

It supports multiple flags.

AUXADC+000
Auxiliary ADC control register 2
8h
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

AUXADC_CON2
6

5

4

3

2

1

0
SYN7
R/W
0

MT
K

SYN7 This bit is used only for channel 0 and is to be associated with timing offset register TDMA_AUXEV0 in the
TDMA timer in timer-triggered mode. The flag can be automatically cleared after channel 0 has been
sampled if AUTOCLR0 in the register AUXADC_CON3 is set.
0 The channel is not selected.
1 The channel is selected.

171/616

MediaTek Inc. Confidential

AUXADC+000
Auxiliary ADC control register 3
Ch
Bit

15

Name

AUTO
SET

14

13

12

Type R/W
Reset
0

11
PUW
AIT_E
N
R/W
0

10

9

8

7

Revision 1.0

AUXADC_CON3
6

5

4

3

2

AUTO AUTO
CLR1 CLR0
R/W
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

STA

R/W
0

RO
0

Co
nf
id
en
tia
l

Re
lea
se

fo
r

AUTOSET This field defines the auto-sample mode of the module. In auto-sample mode, each channel with its
sample register being read can start sampling immediately without configuring the control register
AUXADC_CON1 again.
PUWAIT_EN Thus field enables the power warm-up period to ensure power stability before the SAR process takes
place. It is recommended to activate this field.
0 The mode is not enabled.
1 The mode is enabled.
AUTOCLR1
The field defines the auto-clear mode of the module for event 1. In auto-clear mode, each
timer-triggered channel gets samples of the specified channels once the SYNn bit in the register
AUXADC_CON0 has been set. The SYNn bits are automatically cleared and the channel is not enabled
again by the timer event except when the SYNn flags are set again.
0 The automatic clear mode is not enabled.
1 The automatic clear mode is enabled.
AUTOCLR0
The field defines the auto-clear mode of the module for event 0. In auto-clear mode, the
timer-triggered channel 0 gets the sample once the SYN7 bit in the register AUXADC_CON2 has been set.
The SYN7 bit is automatically cleared and the channel is not enabled again by the timer event 0 except when
the SYN7 flag is set again.
0 The automatic clear mode is not enabled.
1 The automatic clear mode is enabled.
STA
The field defines the state of the module.
0 This module is idle.
1 This module is busy.

AUXADC+001
Auxiliary ADC channel 0 register
0h
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

AUXADC_DAT0
6

5

4

3

2

1

0

DAT
RO
0

The register stores the sampled data for the channel 0. There are 8 registers of the same type for the corresponding
channel . The overall register definition is listed in Table 30.
Register Function

Acronym

AUXADC+0010h

Auxiliary ADC channel 0 data register

AUXADC_DAT0

AUXADC+0014h

Auxiliary ADC channel 1 data register

AUXADC_DAT1

AUXADC+0018h

Auxiliary ADC channel 2 data register

AUXADC_DAT2

AUXADC+001Ch

Auxiliary ADC channel 3 data register

AUXADC_DAT3

AUXADC+0020h

Auxiliary ADC channel 4 data register

AUXADC_DAT4

AUXADC+0024h

Auxiliary ADC channel 5 data register

AUXADC_DAT5

MT
K

Register Address

172/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
AUXADC+0028h

Auxiliary ADC channel 6 data register

AUXADC_DAT6

AUXADC+002Ch

Auxiliary ADC channel 0 data register for TDMA event 0

AUXADC_DAT7

Table 30 Auxiliary ADC data register list

4.11

SCCB
General Description

fo
r

4.11.1

SCCB (Serial Camera Control Bus) is a two-wire serial interface for camera control usage. The two signals are
SIO_CK and SIO_DAT. SIO_CK is a single-direction, active-high clock signal that must be driven by the master.
SIO_DAT is a bi-directional data signal that can be driven by either the master or the slave.

Re
lea
se

Within the transmission, two situations are defined as the START and STOP conditions. A HIGH to LOW transition
on the SIO_DAT line while SIO_CK is high indicates a START condition. A LOW to HIGH transition on the
SIO_DAT line while SIO_CK is high indicates a STOP condition. The master generates START and STOP conditions
when it initiates or terminates a transmission.

Co
nf
id
en
tia
l

For SCCB, there are 3 kinds of transmissions: 3-phase write transmission, 2-phase write transmission, and 2-phase read
transmission cycle. A phase contains 9 bits: an 8-bit sequential data transmission followed by a 9th bit. The 9th bit is
a Do not-Care bit or an NA bit, depending on whether the transmission is a write or read phase. The 3-phase write
transmission cycle is a full write cycle and the master can write one byte of data to a specific slave. The content of a
3-phase write transmission cycle is displayed in Figure 50. The ID address indicates the specific slave that the master
wants to access. The sub address is the location of the destination register. The purpose of a 2-phase write
transmission cycle is to identify the sub-address of the specific slave the master intends to access; it is always followed
by a 2-phase read transmission cycle, which has no ability to identify the sub-address. The structure of 2-phase write
transmission cycle and 2-phase read transmission cycle are depicted in Figure 51 and Figure 52, respectively.

ID Address

Sub-address

Write Data

Figure 50 SCCB 3-phase write transmission cycle

ID Address

Sub-address

Phase 1

Phase 2

Figure 51 SCCB 2-phase write transmission cycle

ID Address

Read Data

Phase 1

Phase 2

MT
K

Figure 52 SCCB 2-phase read transmission cycle

4.11.2

Register Definitions

SCCB+0000h SCCB Control Register
Bit

15

14

13

12

11

10

9

CTRL
8

7

173/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

SCCB
_EN
R/W
0

Name
Type
Reset

SCCB_EN This bit is used to enable SCCB. The bit must be accessed when SCCB wants to communicate with the
slave, i.e. generates write or read transmission cycles.

SCCB+0008h SCCB Data Length Register
15

14

13

12

11

10

9

8

7

6

5

4

3

2
1
DAT_LEN
R/W
0

0

fo
r

Bit
Name
Type
Reset

DAT_LEN

SCCB+000Ch SCCB Buffer Time Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

Re
lea
se

DAT_LEN This field indicates the transmission length minus 1, i.e. to set DAT_LEN = 1 for 2-phase transmission
and to sets DAT_LEN = 2 for 3-phase transmission.

7

6

5

4

TBUF

3
2
TBUF
R/W
3Eh

1

0

TBUF For SCCB, the master initiates transmission with a START condition, and ends the transmission by sending a
STOP condition. TBUF indicates the bus free time between a STOP and START condition, i.e. the interval
of the STOP and START conditions. Based on a 13 MHz clock frequency, the SCCB buffer time = (TBUF /
13000000), and the default setting is ~4.7us.

SCCB+0010h SCCB Start Hold Time
15

14

13

12

11

10

9

8

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

6

5

4

THDSTA

3
2
THDSTA
R/W
34h

1

0

THDSTA START condition occurs when there is a HIGH to LOW transition on the SIO_DAT line while SIO_CK is
HIGH. The START hold time indicates that SIO_CK should be HIGH at least THDSTA length of time after
SIO_DAT becomes LOW. Based on a 13 MHz frequency, the SCCB start hold time = (THDSTA /
13000000), and the default setting is ~4us.

SCCB+0014h SCCB Data Hold Time
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

THDDAT
6

5

4

3
2
THDDAT
R/W
27h

1

0

THDDAT Since SCCB data can be changed only when SIO_CK is LOW, a data hold time is defined to indicate the
time interval that data cannot be changed after SIO_CK becomes LOW. Based on 13 MHz frequency, SCCB
data hold time = (THDDAT / 13000000), and the default setting is ~3us.

MT
K

SCCB+0018h SCCB TLOW
Bit
Name
Type
Reset

15

14

13

12

11

TLOW
10

9

8

7

174/616

6

5

4

3
TLOW
R/W
46h

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

TLOW This field indicates the low period of serial clock. Combined with THIGH, the SIO_CK duty is adjustable.
Based on a 13MHz frequency, the SIO_CK low period = (TLOW / 13000000), and the default setting is
~5.3us.

SCCB+001Ch SCCB THIGH
15

14

13

12

11

THIGH

10

9

8

7

6

5

4

3
THIGH
R/W
3Ch

2

1

0

fo
r

Bit
Name
Type
Reset

THIGH This field indicates the high period of serial clock. Combined with TLOW, the SIO_CK duty is adjustable.
Based on a 13 MHz frequency, the SIO_CK high period = (THIGH / 13000000), and the default setting is
~4.6us.

SCCB+0020h SCCB Data Register
15

14

13

12

11

10

DATA

9

8

7

6

5

4
DATA
R/W
0

3

Re
lea
se

Bit
Name
Type
Reset

2

1

0

Co
nf
id
en
tia
l

DATA SCCB write data. DATA[8] indicates whether or not the following 8bits is an ID address. If the word is an
ID address, the write or read information is hidden in DATA[0].
DATA[8] 0 The following 8-bits is a sub address or pure data.
1 The following 8-bits is an ID address field.
DATA[0]
0 When DATA [8] = 1, the data is an ID address.
DATA [0] = 0, a write cycle
DATA [0] = 1, a read cycle
1 When DATA [8] = 0, the data is not an ID address; it may be a sub address or pure data.

SCCB+0028h SCCB STOP Setup Time
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

TSUSTO
6

5

4

3
2
TSUSTO
R/W
34h

1

0

TSUSTO A LOW to HIGH transition on the SIO_DAT line while SIO_CK is high indicates a STOP condition.
For a STOP condition, the LOW to HIGH transition on the SIO_DAT can be generated after SCCB STOP
setup time while SIO_CK must be HIGH. Based on a 13 MHz frequency, SCCB STOP setup time =
(TSUSTOP / 13000000), and the default setting is ~4us.

SCCB+0038h SCCB MODE
Bit

15

14

Name
Type
Reset

13

12

11

10

9

8

7

MODE
6

5

4

3

2

1

0
MOD
E
R/W
0

MT
K

MODE This bit indicates the SCCB operating mode
0 To operate as Slave
1 To operate as Master

SCCB+003Ch SCCB Buf Clear
Bit

15

14

13

12

11

BUF_CLEAR
10

9

8

7

175/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

BUF_
CLEA
R
R/W
0

Name
Type
Reset

SCCB+0040h SCCB Status Register
Bit

15

14

13

12

11

10

9

8

7

6

5

Name

READ Indicates the read is complete.
0 Read command is not finished.
1 Read command is finished.
WRITE Indicates the write is complete.
0 Write command is not finished.
1 Write command is finished.

SCCB+0044h SCCB Read Data Register
15

14

READ_DATA

13

12

11

10

9

8

7

6

5

4
3
READ_DATA
RO
0

2

STA

1
0
WRIT
READ
E
R/W R/W
0
0

READ_DATA
2

1

0

The returned read data from slave.

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

3

Re
lea
se

Type
Reset

4

fo
r

BUF_CLEAR Buffer clear bit. Set this bit to clear the SCCB FIFO.
0 Buffer is not cleared.
1 Clear the buffer.

4.12

Cipher Hash Engine

4.12.1

General Description

The Cipher and Hash Engine (CHE) and Secure Booting module is responsible for security functions in the MT6228
that are essential for applications such as M-Payment, WAP, WIM, banking communication, and Digital Rights
Management. The hardware support allows for lower complexity and higher efficiency. The architecture is based on
Direct Memory Access (DMA) without a word-alignment constraint, increasing its flexibility for users.

MT
K

For the cipher and decipher functions, CHE supports Advanced Encryption Standard (AES), Data Encryption Standard
(DES), and Triple-DES (Figure 53). These standards are used for both Electronic Codebook mode (Figure 54) and
Cipher Block Chaining mode (Figure 55). The cipher and decipher functions are symmetric functions: the same key
is used for both encryption and decryption. They are block-based algorithms: AES operates on a block size of 16
bytes and 3DES/DES on a block size of 8 bytes. The lengths of the cipher text and the plain text are typically the
same if the original length is a multiple of the block size. CHE supports all AES key lengths: 128, 192, 256 bits.
Under certain conditions, the decoding speed can be comparable to encoding speed. Write-only key registers are
given higher security level for use. The user can keep the cipher-text of raw keys and discard original keys to prevent
peepers.

176/616

MediaTek Inc. Confidential

Revision 1.0

fo
r

Figure 53 3DES Function

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

Figure 54 ECB Mode

Figure 55 CBC Mode

For the hash function, CHE supports both Message Digest 5 (MD5 in RFC 1321) and US Secure Hash Algorithm 1
(SHA-1 in RFC 3174). The hash function is a one-way function: a message is converted into a fixed-length string of
digits. MD5 is a 128-bit message digest, and SHA-1 is 160-bit. They are very similar functions such that resources
sharing can be applied in CHE.

Co
nf
id
en
tia
l

A new Save and Resume feature is implemented in CHE. Because only one task can be applied on CHE at any given
time, unfinished jobs can be saved to the assigned memory addresses until the source data is ready again.
Register Definitions

Register Address

Register Function

Acronym

CHE start register

CHE_START

CHE control register

CHE_CON

CHE + 0008h

CHE key0/key4/initial vector 0/source memory address

CHE_IN0

CHE + 000ch

CHE key1/key5/initial vector 1/destination memory address CHE_IN1

CHE + 0010h

CHE key2/key6/initial vector 2/data length

CHE_IN2

CHE + 0014h

CHE key3/key7/initial vector 3/state memory address

CHE_IN3

CHE + 0018h

CHE slow down rate

CHE_SDRAT

CHE + 001ch

CHE pad count

CHE_PCNT

CHE + 0020h

CHE status

CHE_STAT

CHE + 0024h

CHE current destination address

CHE_CDES

CHE + 0028h

CHE interrupt status

CHE_INTSTA

CHE + 002ch

CHE interrupt enable

CHE_INTEN

CHE + 00c0h

CHE Secure Booting control

CHE_BCON

MT
K

CHE + 0000h
CHE + 0004h

CHE + 00c4h

CHE Secure Booting source data

CHE_BSRC

CHE + 00c8h

CHE Secure Booting seed data

CHE_BSEED

CHE + 00cch

CHE Secure Booting encrypted data

CHE_BENC

CHE + 00d0h

CHE Secure Booting decrypted data

CHE_BDEC

177/616

MediaTek Inc. Confidential

Revision 1.0

Table 31 CHE Registers

CHE+0000h
Bit
Name
Type
Reset

15

CHE start register

14

13

12

11

10

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CHE_START
9

8

7

6

5

4

3

2

1

0

UPIV2 UPIV0
UPDE CLEA
RKEY WKEY
RSTAT WSTAT LAST ST/UD
UPK67 UPK45 UPK23 UPK01
3
1
S
R

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

fo
r

Start register for CHE.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

ST/UD This bit means Start (1) / !Update (0).
When the ST/UD bit is asserted, CHE enters NORMAL mode and performs the job pre-defined according to
the bit settings of LAST, WSTAT, RSTAT, UPDES, WKEY, RKEY and register CHE_CON. This bit must be
de-asserted after the current operation finished. Note: CHE only starts when the CHE_CON control
register ATYPE is 111 (Reserved); otherwise, CHE ends immediately and returns an error.
When ST/UD is de-asserted, CHE enters UPDATE mode. It depends on the UPIV01, UPIV23, UPK01,
UPK23, UPK45 and UPK67 to update the corresponding Initial Vectors (IV0~3) and cipher or decipher keys
0~7 in symmetric ciphering or deciphering mode. It’s suggested that writing 0x0000 into START immediately
before other operations.
LAST This bit indicates the last section for this process. If this bit is asserted, CHE finishes the current process and
resets to the initial state.
In ciphering mode, CHE outputs the last result (including padding process operation).
In deciphering mode, CHE outputs the last result and updates CHE_PCNT.
In hashing mode, CHE pads and outputs the digest.
WSTAT Write CHE states after this operation completed. CHE needs 120 bytes of space for each state to write to
address CHE_SADDR (CHE_IN3). The state can be read back by asserting RSTAT.
RSTAT Read states before the start of the operation. CHE reads 120 bytes back from address CHE_SADDR
(CHE_IN3). The states can be written beforehand by asserting WSTAT.
CLEAR Reset all states and return to the initial state. To perform a clear operation, write 0x0010 to CHE_START,
then write 0x0000 to CHE_START immediately (in the next instruction cycle) to return to the idle mode.
The clear operation has the highest priority of all. If this operation starts with RSTAT disabled, the
user is recommended to clear CHE. The user is highly recommended to clear CHE if this operation
starts without RSTAT enabled.
UPDES Force an update for CHE_DES (CHE_IN1). CHE automatically updates CHE_DES under two conditions
only: the first operation after a reset or a last operation. The user can force CHE to update the destination
address by asserting UPDES. When this bit is enabled, CHE does not update the destination address when
RSTAT is enabled.
WKEY Write key values into encrypted form. To encrypt the key after writing CHE_KEY0~ 7 (CHE_IN0~3), write
0x0041 to CHE_START. Wait for the OK state before writing 0x0000 to CHE_START to return to idle
mode. The keys are stored in encrypted form; the user cannot recover the plain text key, only restore the
encrypted key to CHE by asserting RKEY.
This operation needs 36 bytes of buffer space and uses SADDR as a target address. The WKEY process does
not affect the contents of the KEY registers in CHE. WKEY and RKEY override the NORMAL mode
operation for CHE; WKEY has higher priority than RKEY.
RKEY Restore the key values back to CHE. To retrieve a previously stored key (36 bytes), write 0x0081 to
CHE_START. Wait for the OK state before writing 0x0000 to CHE_START to return to the idle mode.
The keys can be stored by asserting WKEY.
UPIV01 Update CHE_IV0 from CHE_IN0 and CHE_IV1 from CHE_IN1 in UPDATE mode.
UPIV23 Update CHE_IV2 from CHE_IN2 and CHE_IV3 from CHE_IN3 in UPDATE mode.
178/616

MediaTek Inc. Confidential

UPK01
UPK23
UPK45
UPK67

Update CHE_KEY0&1 from CHE_IN0 and CHE_IV1 in UPDATE mode.
Update CHE_KEY2&3 from CHE_IN2 and CHE_IV3 in UPDATE mode.
Update CHE_KEY4&5 from CHE_IN0 and CHE_IV1 in UPDATE mode.
Update CHE_KEY6&7 from CHE_IN2 and CHE_IV3 in UPDATE mode.

CHE+0004h
Bit

Revision 1.0

15

14

CHE control register
13

12

11

10

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CHE_CON

9

8

7

6

5

Name

2

1

0

ATYPE
R/W
000

fo
r

Type
Reset

4
3
SMOD CIPH
E
ER
R/W R/W
0
0

Control register for CHE.

CHE+0008h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

ATYPE Cipher Hash algorithm type: 000=MD5, 001=SHA-1, 010=DES, 011=3-DES, 100=AES-128, 101=AES-192,
110=AES-256. 111=Reserved.
CIPHER
0=Decipher mode, 1=Cipher mode.
SMODE
0=ECB mode, 1=CBC mode. For CBC mode, load the initialization vectors (IV) beforehand.

CHE key0/key4/initial vector 0/source address

31

30

29

28

27

26

25

15

14

13

12

11

10

9

IN0

24
23
IN0[31:16]
R/W
0
8
7
IN0[15:0]
R/W
0

CHE_IN0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

CHE+000ch
31

30

15

14

CHE key1/key5/initial vector 1/destination address
29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Co
nf
id
en
tia
l

Temporary buffer to load the CHE internal registers: KEY0, KEY4, IV0 and SRC. Which registers are loaded
depends on CHE_START: in UPDATE mode, KEY0, KEY4, IV0 are loaded; in NORMAL mode, SRC is
loaded.
KEY0 When CHE is in UPDATE mode and the UPK01 bit is enabled, the content of IN0 is copied into the internal
KEY0 registers. CHE stores 8 KEYs, KEY0~KEY7. Different algorithms use different KEYs. AES-128:
[0,1,2,3]; AES-192: [0,1,2,3,4,5]; AES-256: [0,1,2,3,4,5,6,7]; DES: [0,1]; 3-DES encryption:
[0,1] [2,3] [4,5]; and 3-DES decryption: [4,5] [2,3] [0,1].
KEY4 When CHE is in UPDATE mode and UPK45 is enabled, the content of IN0 is copied into the internal KEY4
registers.
IV0
When CHE is in UPDATE mode and UPIV01 is enabled, the content of IN0 is copied into the internal IV0
registers. DES/3DES uses a 64-bit initial vector [IV0,IV1] in CBC mode. AES uses a 128-bit initial vector
[IV0,IV1,IV2,IV3] in CBC mode.
SRC When CHE is in NORMAL mode, the content of IN0 is copied into internal SRC registers. SRC is the source
address for CHE operation.

24
23
IN1[31:16]
R/W
0
8
7
IN1[15:0]
R/W
0

179/616

CHE_IN1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
IN1

fo
r

Temporary buffer to load the CHE internal registers: KEY1, KEY5, IV1 and DES. Which registers are loaded
depends on CHE_START: in UPDATE mode, KEY1, KEY5, IV1 are loaded; in NORMAL mode, DES is
loaded.
KEY1 When CHE is in UPDATE mode and UPK01 is enabled, the content of IN1 is copied into the internal KEY1
registers.
KEY5 When CHE is in UPDATE mode and UPK45 is enabled, the content of IN1 is copied into the internal KEY5
registers.
IV1
When CHE is in UPDATE mode and UPIV01 is enabled, the content of IN1 is copied into the internal IV1
registers.
DES When CHE is in NORMAL mode, the content of IN1 is copied into internal DES if UPDES is asserted or if this
operation immediately follows a reset or a last operation. DES is the destination address for a CHE operation.

Re
lea
se

Info: About the destination buffer length:
In ciphering mode, the destination buffer length must be larger than the source data length.
len_descipher = len_srccipher + BLOCK_SIZE – (len_srccipher% BLOCK_SIZE)

In deciphering mode, the destination data length is the same as the source data length, a multiple of
BLOCK_SIZE.
In hash mode, the destination buffer length is 16 bytes in MD5 mode and 20 bytes in SHA-1 mode.
BLOCK_SIZE is 8 bytes in DES (3-DES) mode and 16 bytes in AES mode.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IN2

31

30

15

14

CHE key2/key6/initial vector 2/operation length
29

28

27

26

25

24
23
IN2[31:16]
R/W
0
8
7
IN2[15:0]
R/W
0

Co
nf
id
en
tia
l

CHE+0010h

13

12

11

10

9

CHE_IN2

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MT
K

Temporary buffer to load the CHE internal registers: KEY2, KEY6, IV2 and LEN. Which registers are loaded
in depends on CHE_START: in UPDATE mode, KEY2, KEY6, IV2 are loaded; in NORMAL move, LEN is
loaded.
KEY2 When CHE is in UPDATE mode and UPK23 is enabled, the content of IN2 is copied into the internal KEY2
registers.
KEY6 When CHE is in UPDATE mode and UPK67 is enabled, the content of IN2 is copied into the internal KEY6
registers.
IV2
When CHE is in UPDATE mode and UPIV23 is enabled, the content of IN2 is copied into the internal IV2
registers.
LEN When CHE is in NORMAL mode, the content of IN2 is copied into the internal LEN registers. LEN is the
length for the CHE operation. A zero length is allowed only in a last operation (LAST asserted); avoid using a
zero length if possible. If a zero-length setting is unavoidable, clear the CHE after this operation. If a zero
length is used in ciphering mode, the corresponding padded cipher text would be output. In deciphering mode,
CHE resets. Both of them are regardless of previous ciphering or deciphering operations.
In hash mode, if there are previous hash operations, CHE resets. Otherwise, the digest of zero length is output.
I.e., MD5 outputs “d41d8cd98f00b204e9800998ecf8427e” and SHA1 outputs
“da39a3ee5e6b4b0d3255bfef95601890afd80709".

180/616

MediaTek Inc. Confidential

CHE+0014h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

CHE key3/key7/initial vector 3/state address

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
IN3[31:16]
R/W
0
8
7
IN3[15:0]
R/W
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CHE_IN3

22

21

20

19

18

6

5

4

3

2

IN3

17

16

1

0

Bit
Name
Type
Reset

15

14

CHE slow down rate
13

12

11

10

9

8

7

Co
nf
id
en
tia
l

CHE+0018h

Re
lea
se

fo
r

Temporary buffer to load the CHE internal registers: KEY3, KEY7, IV3 and SADDR. Which registers are
loaded depends on CHE_START: in UPDATE mode, KEY3, KEY7, IV3 are loaded; in NORMAL mode,
SADDR is loaded.
KEY3 When CHE is in UPDATE mode and UPK23 is enabled, the content of IN3 is copied into internal KEY3
registers.
KEY7 When CHE is in UPDATE mode and UPK67 is enabled, the content of IN3 is copied into internal KEY7
registers.
IV3
When CHE is in UPDATE mode and UPIV23 is enabled, the content of IN3 is copied into internal IV3
registers.
SADDR When CHE is in NORMAL mode, the content of IN3 is copied into the internal SADDR registers.
SADDR is the state/KEY address for the CHE operation. If RSTAT or WSTAT is asserted, CHE treats SADDR
as a state address, and reads or writes 120 bytes from or to this address. If RKEY or WKEY is asserted, CHE
reads or stores 36-byte KEYs from or to SADDR. Note: SADDR must 4-byte aligned.

6

5

4
3
SDRAT
R/W
0

CHE_SDRAT
2

1

0

SDRAT Slow down CHE to prevent too many requests for AHB resources. Each unit increment translates into a
4-cycle delay for each bus access (read or write). The range of SDRAT is from 0 (no delay) to 255
(255*4=1020 cycles’ delay).

CHE+001ch
Bit
Name
Type
Reset

15

14

CHE pad count
13

12

11

10

9

8

7

CHE_PCNT
6

5

4

3

2
PCNT
RO
0

1

0

PCNT When performing symmetric deciphering, this register indicates the padding length.

CHE+0020h
Bit
Name
Type
Reset

15

14

CHE return status
13

12

11

10

9

8

7

CHE_STAT
6

5

4

3

2

1
STAT
RO
0

0

MT
K

STAT STAT represents the current state of CHE. 000b: OK. 001b: control field setting error. 010b: zero length
for a non-last operation, or a last operation that is not hash nor ciphering (a last operation that is deciphering).
011b: resume state, wait for the next last or non-last operation. 100b: BUSY. 101b: RKEY and WKEY at the
same time.

CHE+0024h
Bit
Name

31

30

CHE current destination address
29

28

27

26

25

24
23
CDES[31:16]

181/616

CHE_CDES
22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
RO
0
15

14

13

12

11

10

9

8
7
CDES[15:0]
RO
0

6

5

4

3

6

5

4

3

2

1

CDES CDES is the current destination address in CHE.

Bit
Name
Type
Reset

15

14

CHE interrupt status
13

12

11

10

CHE_INTSTA
9

8

7

CHE+002ch
Bit
Name
Type
Reset

15

14

CHE interrupt enable
13

12

11

10

9

8

7

6

5

4

1
0
INTSTA
RC
0

Bit 1 indicates CHE

Re
lea
se

INTSTA Interrupt status. Bit 0 indicates CHE finished in the OK or RESUME state.
returned a failure. Further information can be obtained from CHE_STAT.

2

fo
r

CHE+0028h

0

3

CHE_INTEN
2

1
0
INTEN
R/W
0

INTEN Interrupt enable control register. When bit 0 is enabled, an interrupt occurs when CHE finishes in the OK or
RESUME state. If bit 1 is enabled, CHE interrupts if an error occurs.

CHE+00c0h
Bit
Name
Type
Reset

15

14

CHE Secure Booting control
13

12

11

10

9

8

7

6

5

4

CHE_BCON

3
2
1
0
PAR3 PAR2 PAR1 DIS
R/W R/W R/W R/W
0
0
0
0

DIS

CHE+00c4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Co
nf
id
en
tia
l

Disable Secure Booting function. When DIS is asserted, the data read from CHE_BENC and CHE_BDEC is
the same as CHE_BSRC.
PAR1 Use inner information parameter 1 (SK) to strengthen security.
PAR2 Use inner information parameter 2 (RS) to strengthen security.
PAR3 Use inner information parameter 3 (MR) to strengthen security.

CHE Secure Booting source data
29

28

27

26

25

13

12

11

10

9

24
23
BSRC[31:16]
WO
0
8
7
BSRC[15:0]
WO
0

CHE_BSRC
22

21

20

19

18

17

16

6

5

4

3

2

1

0

BSRC Source data for Secure Booting to be encrypted (obtained from CHE_BENC) or decrypted (obtained from
CHE_BDEC).

CHE+00c8h
31

30

CHE Secure Booting seed value
29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28

27

26

25

12

11

10

9

24
23
22
BSEED[31:16]
WO
0
8
7
6
BSEED[15:0]
WO
0

182/616

CHE_BSEED
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

BSEED Seed data needed to increase security of the Boot Secure function.
Boot Secure the first time.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Set the seed value before performing

CHE Secure Booting encrypted data

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
BENC[31:16]
RO
0
8
7
BENC[15:0]
RO
0

CHE_BENC
22

21

20

19

18

6

5

4

3

2

22

21

20

BENC Encrypted data from CHE_BSRC.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CHE Secure Booting decrypted data

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
BDEC[31:16]
RO
0
8
7
BDEC[15:0]
RO
0

BDEC Decrypted data from CHE_BSRC.

4.12.2

CHE KEY Phase Transient

16

1

0

CHE_BDEC

19

Re
lea
se

CHE+00d0h

17

fo
r

CHE+00cch

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6

5

4

3

18

17

16

2

1

0

In CHE, all cipher and decipher functions need a KEY, i.e., AES, DES, 3DES. However, due to the cost and
performance concern, all the keys are put together in a KEY buffer with four phases (Figure 56).
Phase 1: AES128 decipher phase.

2.

Phase 2: AES192 decipher phase

3.

Phase 3: AES256 decipher phase.

4.

Phase 4: Common phase, other functions which exclude the AES decipher. I.e., DES (cipher and decipher),
3DES (cipher and decipher), AES128, AES192, AES256 cipher.

Co
nf
id
en
tia
l

1.

MT
K

Figure 56 Key Phase Transient GraphPhases 1 through 3 are internal phases, unknown to the user. When the user
first enters the key data, the key phase is reset to the Common Phase. Transition among phases is limited to the
arrows shown in Figure 56. For example, if currently performing a 3DES cipher function, any cipher or decipher
function may follow. If currently using a AES192 decipher function, only the AES192 decipher function or the
Common Phase algorithms may be used next; otherwise an error occurs.
For security reasons and convenience, the key phase can be saved with key contents by WKEY or WSTAT. The user
is highly recommended to convert raw key data into CKEY data format (using WKEY), discard the original key data,
and to use CKEY by RKEY.

183/616

MediaTek Inc. Confidential

4.12.3

Revision 1.0

Secure Booting Procedure

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Secure Booting is a feature of CHE that protects the program contents on flash memory from modification, skip or hard
copy. With a secure process and a unique chip ID (UID), CHE can encrypt or decrypt a segment of instruction data in
order.
Encryption procedure:
1. Activate the eFuse module.

The same seed value is

3. Write the control value into BCON.

5. Repeat step 4 until all instructions are encrypted.
Decryption procedure:
1. Activate the eFuse module.
2. Write the seed value into BSEED.
3. Write the control value into BCON.
procedure.

Re
lea
se

4. Write source data (instruction) into BSRC and read the cipher text from BENC.

fo
r

2. Write the seed value into BSEED. The seed value can be any 32-bit value.
necessary in the decryption procedure.

The seed value must be the same one used in the encryption procedure.
The control value must be the same one used in the encryption

4. Write the source data (instruction) into BSRC and read the plain text from BDEC.
5. Repeat step 4 until all instructions are decrypted.

Co
nf
id
en
tia
l

Notes:
1. A bit length equal or less than 32 bits is acceptable for Secure Boot.
0x12340000 32-bit data and decrypted in the same manner.

E.g.: a 16-bit data 0x1234 is treated as

2. For security reasons, access times to be encrypted or decrypted should not be the multiples of 4.
3. The internal states of Secure Booting function change under the following conditions, such that redundant
register access is forbidden.
Write data into BSRC

Write data into BSEED

Read data from BENC or BDEC

As an example of the encryption and decryption of 16-bit data, consider the value 0xabcd:
Encryption:

1. The data is padded with zeros to obtain a 32-bit value: 0xabcd0000.
2. The encryption operation produces a value 0x12345678.

MT
K

Decryption:
1. Only the most significant 16 bits 0x1234000 are considered and decrypted as 0xabcd7893.
2. The first 16 bits 0xabcd are retained, and 0x00007893 is ignored.

184/616

MediaTek Inc. Confidential

5

Microcontroller Coprocessors

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Microcontroller Coprocessors are designed to run computing-intensive processes in place of the Microcontroller
(MCU). These coprocessors especially target timing critical GSM/GPRS Modem processes that require fast response
and large data movement. Controls to the coprocessors are all through memory access via the APB.

Divider

fo
r

5.1

Re
lea
se

To ease the processing load of the MCU, a divider is employed. The divider can perform signed and unsigned
32bit/32bit division, as well as modulus. The processing time of the divider is from 1 clock cycle to 33 clock cycles,
depending on the magnitude of the dividend. Detailed processing times are listed below in Table 32. Table 32
shows two processing times (except for when the dividend is zero) for each range of dividends, depending on whether
or not restoration is required during the last step of the division operation.
Table 32 Processing Time for Different Dividend Values
Signed Division

Unsigned Division

Dividend

Clock Cycles

Dividend

Clock Cycles

1

0000_0000h

1

0000_00ffh –
(-0000_0100h), excluding
0x0000_0000

8 or 9

0000_0001h - 0000_00ffh

8 or 9

0000_ffffh – (-0001_0000h) 16 or 17

0000_0100h - 0000_ffffh

16 or 17

00ff_ffffh – (-0100_0000h) 24 or 25

0001_0000h - 00ff_ffffh

24 or 25

7fff_ffffh – (-8000_0000h) 32 or 33

0100_0000h - ffff_ffffh

32 or 33

Co
nf
id
en
tia
l

0000_0000h

Table 33 Processing Time for Different Dividend Values

When the divider is started by setting the Divider Control Register START bit to 1, DIV_RDY becomes 0; this bit is
asserted when the division process is complete. MCU detects this status bit by polling it to know the correct access
timing. To simplify polling, only the value of register DIV_RDY is visible while Divider Control Register is being
read. Hence, MCU does not need to mask other bits to extract the value of DIV_RDY.
In a GSM/GPRS system, many divisions are executed with constant divisors. Therefore, oft-used constants are stored
in the divider to speed up the process. By controlling control bits IS_CNST and CNST_IDX in Divider Control
register, a division can be performed without providing a divisor. This omission of a step saves on the time for writing
a divisor in and on the instruction fetch time, thus making the process more efficient.

5.1.1

Register Definitions

DIVIDER+000
Divider Control Register
0h
31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

MT
K

Bit
Name
Type
Reset
Bit

DIV_CON
21

20

19

5

4

3

IN_CNS
SIGN
T

Name

185/616

18

17
16
CNST_IDX
WO
0
2
1
0
DIV_RD STAR
Y
T

MediaTek Inc. Confidential

Type
Reset

WO
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
WO
1

RO
1

START
DIV_RDY

WO
0

Re
lea
se

fo
r

Starts a division operation. Returns to 0 after the division has started.
Current status of the divider. Note that when DIV_CON register is read, only the value of DIV_RDY
appears; the program does not need to mask other parts of the register to extract the information in
DIV_RDY.
0
Division is in progress.
1
Division is finished
SIGN
Indicates a signed or unsigned division operation.
0
Unsigned division
1
Signed division
IS_CNST Specifies that an internal constant value should be used as a divisor. If IS_CNST is enabled, the divisor
value need not be written, and divider automatically uses the internal constant value instead. The
internal constant value used depends on the value of CNST_IDX.
0 Normal division. Divisor is written in via APB.
1 Using internal constant divisor instead.
CNST_IDX
Index of constant divisor.
0
divisor = 13
1
divisor = 26
2
divisor = 51
3
divisor = 52
4
divisor = 102
5
divisor = 104

DIVIDER
+0004h
31

30

15

14

Dividend.

DIVIDER
+0008h

29

28

27

26

13

12

11

10

25

24
23
22
DIVIDEND[31:16]
WO
0
9
8
7
6
DIVIDEND[15:0]
WO
0

DIV_DIVIDEND
21

20

19

18

17

16

5

4

3

2

1

0

Divider Divisor register

31

30

15

14

29

28

27

26

13

12

11

10

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Divider Dividend register

25

24
23
22
DIVISOR[31:16]
WO
0
9
8
7
6
DIVISOR[15:0]
WO
0

DIV_DIVISOR
21

20

19

18

17

16

5

4

3

2

1

0

Divisor.

186/616

MediaTek Inc. Confidential

DIVIDER
+000Ch
31

30

29

28

27

26

15

14

13

12

11

10

DIV_QUOTIENT

25
24
23
22
QUOTIENT[31:16]
RO
0
9
8
7
6
QUOTIENT[15:0]
RO
0

21

20

19

18

5

4

3

2

Quotient.

DIVIDER
+0010h
31

30

29

28

27

26

15

14

13

12

11

10

Remainder.

5.2.1

1

0

21

20

19

18

17

16

5

4

3

2

1

0

CSD Accelerator

Co
nf
id
en
tia
l

5.2

25
24
23
22
REMAINDER[31:16]
RO
0
9
8
7
6
REMAINDER[15:0]
RO
0

16

DIV_REMAINDE
R

Divider Remainder register

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Divider Quotient register

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

General Description

This unit performs the data format conversion of RA0, RA1, and FAX in CSD service. CSD service consists of two
major functions: data flow throttling and data format conversion. The data format conversion is a bit-wise operation
and requires several instructions to complete a conversion, thus making it inefficient for the MCU to perform itself. A
coprocessor, CSD accelerator, is designed to reduce the computing power needed to perform this function.
The CSD accelerator helps in converting data format only; the data flow throttling function is still implemented by the
MCU. CSD accelerator performs three types of data format conversion: RA0, RA1, and FAX.

MT
K

For RA0 conversion, too many case scenarios for the downlink path conversion greatly increase the hardware area cost,
thus only uplink RA0 data format conversion is provided. Uplink RA0 conversion consists of inserting a start bit
before and a stop bit after each a byte, for a duration of 16 bytes.
illustrates the detailed conversion table.

187/616

MediaTek Inc. Confidential

Ko
nk
a

Revision 1.0

Figure 57 Data Format Conversion of RA0

Re
lea
se

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

The RA0 converter processes data state by state. Therefore, before filling in new data, software must ensure that
converted data of in a state is withdrawn, otherwise the converted data is replaced by new data. For example, if 32
bits of data are written, the state pointer increments from state 0 to state 1, and word ready of state 0 is asserted.
Before writing the next 32-bit data, the word of state 0 must be withdrawn first, or the data is lost when the next
conversion is performed.
RA0 records the number of written bytes, the state pointer, and a ready state word.
software to perform flow control. See Register Definition for more detail.

This information helps the

MT
K

Co
nf
id
en
tia
l

For RA1 conversion, both downlink and uplink directions are supported. The data formats vary for different data rate.
Detailed conversion tables are shown in and . The yellow part is the payload data, and the blue part is the status bit.

Figure 58 Data Format Conversion for 6k/12k RA1

188/616

MediaTek Inc. Confidential

Figure 59 Data Format Conversion for 3.6k RA1

Ko
nk
a

Type 1 reversal is a bit-wise reversal (), and Type 2 is a

Re
lea
se

For FAX, two types of bit-reversal functions are provided.
byte-wise reversal ().

Revision 1.0

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

Co
nf
id
en
tia
l

Figure 60 Type 1 Bit Reversal

Figure 61 Type 2 Bit Reversal

Register Address

Register Function

Acronym

CSD RA0 Control Register

CSD_RA0_CON

CSD RA0 Status Register

CSD_RA0_STA

CSD RA0 Input Data Register

CSD_RA0_DI

CSD + 000Ch

CSD RA0 Output Data Register

CSD_RA0_DO

CSD + 0100h

CSD RA1 6K/12K Uplink Input Data Register 0

CSD_RA1_6_12K_ULDI0

CSD + 0104h

CSD RA1 6K/12K Uplink Input Data Register 1

CSD_RA1_6_12K_ULDI1

CSD + 0108h

CSD RA1 6K/12K Uplink Status Data Register

CSD_RA1_6_12K_ULSTUS

CSD + 010Ch

CSD RA1 6K/12K Uplink Output Data Register 0

CSD_RA1_6_12K_ULDO0

CSD + 0000h
CSD + 0004h

MT
K

CSD + 0008h

189/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
CSD + 0110h

CSD RA1 6K/12K Uplink Output Data Register 1

CSD_RA1_6_12K_ULDO1

CSD + 0200h

CSD RA1 6K/12K Downlink Input Data Register 0

CSD_RA1_6_12K_DLDI0

CSD + 0204h

CSD RA1 6K/12K Downlink Input Data Register 1

CSD_RA1_6_12K_DLDI1

CSD + 0208h

CSD RA1 6K/12K Downlink Output Data Register 0

CSD_RA1_6_12K_DLDO0

CSD + 020Ch

CSD RA1 6K/12K Downlink Output Data Register 1

CSD_RA1_6_12K_DLDO1

CSD RA1 6K/12K Downlink Status Data Register

CSD_RA1_6_12K_DLSTUS

CSD RA13.6K Uplink Input Data Register 0

CSD_RA1_3P6K_ULDI0

CSD + 0304h

CSD RA13.6K Uplink Status Data Register

CSD_RA1_3P6K_ULSTUS

CSD + 0308h

CSD RA13.6K Uplink Output Data Register 0

CSD_RA1_3P6K_ULDO0

CSD + 030Ch

CSD RA13.6K Uplink Output Data Register 1

CSD_RA1_3P6K_ULDO1

CSD + 0400h

CSD RA1 3.6K Downlink Input Data Register 0

CSD_RA1_3P6K_DLDI0

CSD + 0404h

CSD RA1 3.6K Downlink Input Data Register 1

CSD_RA1_3P6K_DLDI1

CSD + 0408h

CSD RA1 3.6K Downlink Output Data Register 0

CSD_RA1_3P6K_DLDO0

CSD + 040Ch

CSD RA1 3.6K Downlink Status Data Register

CSD_RA1_3P6K_DLSTUS

CSD + 0500h

CSD FAX Bit Reverse Type 1 Input Data Register

CSD_FAX_BR1_DI

CSD + 0504h

CSD FAX Bit Reverse Type 1 Output Data Register

CSD_FAX_BR1_DO

CSD + 0510h

CSD FAX Bit Reverse Type 2 Input Data Register

CSD_FAX_BR2_DI

CSD + 0514h

CSD FAX Bit Reverse Type 2 Output Data Register

CSD_FAX_BR2_DO

Re
lea
se

fo
r

CSD + 0210h
CSD + 0300h

Table 34 CSD Accelerator Registers

Register Definitions

CSD+0000h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CSD RA0 Control Register

Co
nf
id
en
tia
l

5.2.2

CSD_RA0_CON

29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

21

20

5
4
RST BTS0
WO WO
0
0

19

18

3

2

17

16

1
0
VLD_BYTE
WO
100

MT
K

VLD_BYTE Specifies the number of valid bytes in the current input data. This value must be specified before filling
data.
BTS0 Back to state 0. Forces RA0 converter return back to state 0. Incomplete words are padded with stop bits.
For example, consider a back-to-state0 command that is issued after 8 bytes of data are filled in. All bits
after the 8th byte are padded with stop bits, and the second ready word byte RDYWD2 is asserted (Figure 62).
After removing state word 2, the state pointer goes back to state 0. Note that new data filling should take
place after removing state word 2, or the state pointer may be out of order.

190/616

MediaTek Inc. Confidential

fo
r

Figure 62 Example of Back to State 0
Resets the RA0 converter.
original state.

CSD+0004h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

If an erroneous operation disorders the data, this bit restores all states to their

CSD RA0 Status Register

Re
lea
se

RST

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CSD_RA0_STA

31

30

29

28

27

26

25

24

15

14

13

12

11

10
9
BYTECNT
RO
0

8

23

7

22

21

20

19

18

17

16

6
5
CRTSTA
RO
0

4

3

2
RDYWD
RC
0

1

0

CSD+0008h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

DIN

31

30

CSD RA0 Input Data Register
29

28

27

26

25

24

CSD_RA0_DI

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

DIN
WO
0

15

14

13

12

11

10

9

8

DIN
WO
0

The RA0 conversion input data. The ready word indicator is checked before filling in data; if any words are
ready, they are withdrawn first, otherwise the ready data in RA0 converter is replaced.

CSD+000Ch

CSD RA0 Output Data Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

Co
nf
id
en
tia
l

RDYWD0~4
Ready words. Indicates which state words are ready for withdrawal. If any bits asserted, data
must be withdrawn before new data is filled into CSD_RA0_DI, to avoid data loss.
0 Not ready
1 Ready
CRTSTA Current state. State0 ~ State4. Indicates which state word software is currently filling.
BYTECNT Total number of bytes being filled.

24
23
DOUT
RO
0
8
7
DOUT
RO
191/616

CSD_RA0_DO
22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
0

DOUT RA0 converted data. The return data corresponds to the ready word indicator defined in CSD_RA0_STA
register. The five bits of RDYWD map to state0 ~ state 4 respectively. When CSD_RA0_DO is read, the
asserted state word is returned. If two state words asserted at the same time, the lower one is returned.

30

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DIN

D1 to D32 of the RA1 uplink data.

29

28

27

26

25

24

23

22

21

20

7

6

5

4

DIN
WO
0
15

14

13

12

11

10

9

8

19

3

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

DIN

D33 to D48 of the RA1 uplink data.

17

2

1

16

0

CSD_RA1_6_12
K_ULDI1

CSD RA1 6K/12K Uplink Input Data Register 1

Bit
Name
Type
Reset
Bit
Name
Type
Reset

18

Re
lea
se

DIN
WO
0

CSD+0104h

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

DIN
WO
0

CSD+0108h
30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6
E7
WO
0

5
E6
WO
0

4
E5
WO
0

3
E4
WO
0

2
X
WO
0

1
SB
WO
0

0
SA
WO
0

SA
SB
X
E4
E5
E6
E7

Represents S1, S3, S6, and S8 of the status bits.
Represents S4 and S9 of the status bits.
Represents X of the status bits.
Represents E4 of the status bits.
Represents E5 of the status bits.
Represents E6 of the status bits.
Represents E7 of the status bits.

MT
K

31

CSD+010Ch
31

30

CSD_RA1_6_12
K_ULSTUS

CSD RA1 6K/12K Uplink Status Data Register

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Bit
Name

CSD_RA1_6_12
K_ULDI0

CSD RA1 6K/12K Uplink Input Data Register 0

fo
r

CSD+0100h

CSD_RA1_6_12
K_ULDO0

CSD RA1 6K/12K Uplink Output Data Register 0
29

28

27

26

25

24
23
DOUT

192/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

Revision 1.0

RO
0
15

14

13

12

11

10

9

8

7

6

5

4

3

2

DOU
RO
0

DOUT Bit 0 to bit 31 of the RA1 6K/12K uplink frame.

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8
7
DOUT
RO
0

DOUT Bit 32 to bit 59 of the RA1 6K/12K uplink frame.

CSD+0200h
30

31

DIN

Bit 0 to bit 31 of the RA1 6K/12K downlink frame.

15

14

18

17

16

3

2

1

0

CSD_RA1_6_12
K_DLDI0

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

31

15

30

14

Co
nf
id
en
tia
l

DIN
WO
0

CSD_RA1_6_12
K_DLDI1

CSD RA1 6K/12K Downlink Input Data Register 1
29

13

28

12

27

11

26

10

25

9

24

23

8

7

22

21

20

19

18

17

16

5

4

3

2

1

0

DIN
WO
0
6

DIN
WO
0

Bit 32 to bit 59 of the RA1 6K/12K downlink frame.

CSD+0208h
31

30

15

14

CSD_RA1_6_12
K_DLDO0

CSD RA1 6K/12K Downlink Output Data Register 0
29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

4

19

DIN
WO
0

CSD+0204h

DIN

20

CSD RA1 6K/12K Downlink Input Data Register 0

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Bit
Name
Type
Reset
Bit
Name
Type
Reset

22
21
DOUT
RO
0
6
5

0

CSD_RA1_6_12
K_ULDO1

CSD RA1 6K/12K Uplink Output Data Register 1

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

fo
r

CSD+0110h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

13

28

27

26

25

12

11

10

9

24
23
DOUT
RO
0
8
7
DOUT
RO
0

193/616

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

DOUT D1 to D32 of the RA1 downlink data.

CSD+020Ch
31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
DOUT
RO
0

6

5

4

3

2

DOUT D33 to D48 of the RA1 downlink data.

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

SA
SB
X
E4
E5
E6
E7

The majority vote of the S1, S3, S6 and S8 status bits. If the vote is split, SA=0.
The majority vote of the S4 and S9 status bits. If the vote is split, SB=0.
The majority vote of the two X bits in downlink frame. If the vote is split, X=0.
Represents E4 of the status bits.
Represents E5 of the status bits.
Represents E6 of the status bits.
Represents E7 of the status bits.

DIN

31

15

30

14

13

12

27

11

26

10

25

9

24

21

20

19

18

17

16

7

6
E7
RO
0

5
E6
RO
0

4
E5
RO
0

3
E4
RO
0

2
X
RO
0

1
SB
RO
0

0
SA
RO
0

23

8

0

CSD_RA1_3P6
K_ULDI0

7

22

21

20

19

18

17

16

3

2

1

0

DIN
WO
0
6

5

4

DIN
WO
0

D1 to D24 of the RA1 3.6K uplink data.

CSD_RA1_3P6
K_ULSTUS

CSD RA1 3.6K Uplink Status Data Register

MT
K

CSD+0304h
Bit
Name
Type
Reset
Bit
Name

28

1

22

CSD RA1 3.6K Uplink Input Data Register 0
29

16

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CSD+0300h

17

CSD_RA1_6_12
K_DLSTUS

CSD RA1 6K/12K Downlink Status Data Register

Re
lea
se

CSD+0210h

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CSD_RA1_6_12
K_DLDO1

CSD RA1 6K/12K Downlink Output Data Register 1

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6
E7

5
E6

4
E5

3
E4

2
X

1
SB

0
SA

194/616

MediaTek Inc. Confidential

Type
Reset

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
DOUT
RO
0
8
7
DOUT
RO
0

31

30

15

14

21

29

28

27

26

25

24

13

12

11

10

9

WO
0

6

5

23

8

7

WO
0

WO
0

fo
r
20

19

4

3

18

17

16

2

1

0

CSD_RA1_3P6
K_ULDO1

CSD RA1 3.6K Uplink Output Data Register 1

Co
nf
id
en
tia
l

CSD+030Ch

22

WO
0

CSD_RA1_3P6
K_ULDO0

CSD RA1 3.6K Uplink Output Data Register 0

DOUT Bit 0 to bit 31 of the RA1 3.6K uplink frame.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

WO
0

Represents S1, S3, S6, and S8 of the status bits.
Represents S4 and S9 of the status bits.
Represents X of the status bits.
Represents E4 of the status bits.
Represents E5 of the status bits.
Represents E6 of the status bits.
Represents E7 of the status bits.

CSD+0308h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

WO
0

Re
lea
se

SA
SB
X
E4
E5
E6
E7

WO
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

21

20

19

18

17

16

6

5

4

3

2
1
DOUT
RO
0

0

DOUT Bit 32 to bit 35 of the RA1 3.6K uplink frame.

CSD+0400h
30

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DIN

Bit 0 to bit 31 of the RA1 3.6K downlink frame.

29

28

27

26

25

24

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

DIN
WO
0

15

14

13

12

11

10

9

8

DIN
WO
0

31

30

CSD_RA1_3P6
K_DLDI1

CSD RA1 3.6K Downlink Input Data Register 1

MT
K

CSD+0404h
Bit
Name
Type
Reset

CSD_RA1_3P6
K_DLDI0

CSD RA1 3.6K Downlink Input Data Register 0

29

28

27

26

25

24

23

195/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Bit
Name
Type
Reset

15

14

DIN

Bit 32 to bit 35 of the RA1 3.6K downlink frame.

11

10

9

8

7

6

5

4

3

2

1

0

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8
7
DOUT
RP
0

6

5

D1 to D24 of the RA1 3.6K downlink data.

20
19
DOUT
RO
0
4
3

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

SA
SB
X
E4
E5
E6
E7

The majority vote of the S1, S3, S6 and S8 status bits. If the vote is split, SA=0.
The majority vote of the S4 and S9 status bits. If the vote is split, SB=0.
The majority vote of the two X bits in downlink frame. If the vote is split, X=0.
Represents E4 of status bits.
Represents E5 of status bits.
Represents E6 of status bits.
Represents E7 of status bits.

27

26

25

24

1

0

21

20

19

18

17

16

7

6
E7
RO
0

5
E6
RO
0

4
E5
RO
0

3
E4
RO
0

2
X
RO
0

1
SB
RO
0

0
SA
RO
0

CSD_FAX_BR1
_DI

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DIN

32-bit input data for a Type 1 bit reversal of the FAX data. A Type 1 bit reversal reverses the data bit by bit.

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

DIN
WO
0

15

14

13

12

11

10

9

8

MT
K

DIN
WO
0

CSD+0504h
Bit
Name

28

2

22

CSD FAX Bit Reverse Type 1 Input Data Register
29

16

23

Co
nf
id
en
tia
l

31

30

17

CSD_RA1_3P6
K_DLSTUS

CSD RA1 3.6K Downlink Status Data Register

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CSD+0500h

18

fo
r

31

CSD+040Ch

CSD_RA1_3P6
K_DLDO0

CSD RA1 3.6K Downlink Output Data Register 0

Re
lea
se

DIN

12

DIN
WO
0

CSD+0408h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

CSD_FAX_BR1
_DO

CSD FAX Bit Reverse Type 1 Output Data Register
29

28

27

26

25

24
23
DOUT

196/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

Revision 1.0

RO
0
15

14

13

12

11

10

9

8
7
DOUT
RO
0

6

5

4

3

2

DOUT 32-bit result data for a Type 1 bit reversal of the FAX data.

30

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

DIN

32-bit input data for a Type 2 bit reversal of the FAX data. A Type 2 bit reversal reverses the data byte by
byte.

27

26

25

24

23

22

21

20

7

6

5

4

DIN
WO
0
15

14

13

12

11

10

9

8

19

18

17

16

3

2

1

0

Re
lea
se

DIN
WO
0

CSD+0514h

CSD_FAX_BR2
_DO

CSD FAX Bit Reverse Type 2 Output Data Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
DOUT
RO
0
8
7
DOUT
RO
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

28

0

CSD_FAX_BR2
_DI

CSD FAX Bit Reverse Type 2 Input Data Register
29

1

fo
r

CSD+0510h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

21

20

19

18

17

16

6

5

4

3

2

1

0

DOUT 32-bit result data for a Type 2 bit reversal of the FAX data.

5.3
5.3.1

FCS Codec

General Description

The Frame Check Sequence (FCS) serves to detect errors in the following information bits:
RLP-frame of CSD services in GSM: The frame length is fixed at 240 or 576 bits including the 24-bit FCS
field.
LLC-frame of GPRS service: The frame length is determined by the information field, and length of the
FCS field is 24 bits.
Generation of the FCS is very similar to CRC coding in baseband signal processing.
and 04.64 both define the coding rules as:

The CRC is the one’s complement of the modulo-2 sum of the following additives:

MT
K

1.

ETSI GSM specifications 04.22

•

the remainder of xk (x23 + x22 + x21 + … + x2 + x + 1) modulo-2 divided by the generator polynomial, where k
is the number of bits of the dividend (i.e. fill the shift registers with all ones initially before feeding data); and,

197/616

MediaTek Inc. Confidential

•

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

the remainder of the modulo-2 division by the generator polynomial of the product of x24 by the dividend,
which are the information bits.

The CRC-24 generator polynomial is:
G(x) = x24 + x23 + x21 + x20 + x19 + x17 + x16 + x15 + x13 + x8 + x7 + x5 + x4 + x2 + 1

3.

The 24-bit CRC is appended to the data bits in the MSB-first manner.Decoding is identical to encoding except that
data fed into the syndrome circuit is 24 bits longer than the information bits at encoding. The dividend is also
multiplied by x24. If no error occurs, the remainder satisfies:
R(x) = x22 + x21 + x19 + x18 + x16 + x15 + x11 + x8 + x5 + x4 (0x6d8930)
The parity output word is 0x9276cf.

fo
r

2.

5.3.2

Register Definitions

FCS+0000h
Bit
15
Name D15
Type WO

FCS input data register

14
D14
WO

13
D13
WO

12
D12
WO

11
D11
WO

10
D10
WO

9
D9
WO

8
D8
WO

Re
lea
se

In contrast to conventional CRC, this special coding scheme makes the encoder identical to the decoder and simplifies
the hardware design.

7
D7
WO

6
D6
WO

5
D5
WO

4
D4
WO

3
D3
WO

FCS_DATA
2
D2
WO

1
D1
WO

0
D0
WO

The data bits input. First write of this register is the starting point of the encode or decode process.
D0~15 The input format is D15·xn+ D14·xn-1+ D13·xn-2+ … + Dk·xk+ …, thus D15 is the first bit pushed into the
shift register. If the last data word is less than 16 bits, the remaining bits are neglected.

FCS+0004h
15

14

13

12

11

10

9

8

7

6

5

4

3

FCS_DLEN
2

1

0

LEN
WO

Co
nf
id
en
tia
l

Bit
Name
Type

Input data length indication register

The MCU specifies the total data length (in bits) to be encoded or decoded.
LEN
Data length. The length must be a multiple of 8 bits.

FCS+0x0008h FCS parity output register 1, MSB part
Bit
15
Name P15
Type RC
Reset
0

14
P14
RC
0

FCS+000Ch
Bit
Name
Type
Reset

15

14

13
P13
RC
0

12
P12
RC
0

11
P11
RC
0

10
P10
RC
0

9
P9
RC
0

8
P8
RC
0

7
P7
RC
0

6
P6
RC
0

FCS_PAR1
5
P5
RC
0

4
P4
RC
0

3
P3
RC
0

2
P2
RC
0

FCS parity output register 2, LSB part
13

12

11

10

9

8

7
P23
RC
0

6
P22
RC
0

1
P1
RC
0

0
P0
RC
0

FCS_PAR2
5
P21
RC
0

4
P20
RC
0

3
P19
RC
0

2
P18
RC
0

1
P17
RC
0

0
P16
RC
0

MT
K

Parity bits output. For FCS_PAR2, bit 8 to bit 15 are filled with zeros when reading.
P0~23 The output format is P23·D23+ P22·D22+ P21·D21+ … + Pk·Dk+ …+P1·D1+P0, thus P23 is the first bit
being popped out from the shift register and the first appended to the information bits. In other words,
{FCS_PAR2[7:0], FCS_PAR1[15:8], FCS_PAR1[7:0] } is the order of the parity bits appended to the data.

FCS+0010h
Bit

15

14

FCS codec status register
13

12

11

10

9

FCS_STAT
8

7

198/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

BUSY FER
RC
RC
0
1

RDY
RC
0

fo
r

BUSY Indicates whether or not the current data work is available for writing. The codec works in a serial manner
and the data word is input in a parallel manner. BUSY=1 indicates that the current data word is being
processed and a write to FCS_DATA is invalid: the operation is permitted but the data may not be consistent.
BUSY=0 allows a write of FCS_DATA during an encoding or decoding process.
FER
Frame error indication, for decode mode only. FER=0 means no error has occurred; FER=1 indicates the
parity check has failed. Writing to FCS_RST.RST or the first write to FCS_DATA resets this bit to 0.
RDY When RDY=1, verify that the encode or decode process has been finished. For an encode, the parity data in
FCS_PAR1 and FCS_PAR2 are available and consistent. For a decode, FCS_STAT.FER indication is
valid. A write of FCS_RST.RST or the first write of FCS_DATA resets this bit to 0.

Bit

15

FCS codec reset register

14

13

12

11

10

9

FCS_RST
8

Name
Type

Re
lea
se

FCS+0014h

7

6

5

4

3
2
EN_D
PAR
E
WO WO

1

0

BIT

RST

WO

WO

RST=0 resets the CRC coprocessor. Before setup of the FCS codec, the MCU needs to set RST=0 to flush
the shift register content before encode or decode.
BIT
BIT=0 signifies not to invert the bit order in a data word byte when the codec is running. BIT=1 signifies to
reverse the bit order in a byte written in FCS_DATA.
PAR
PAR=0 means not to invert the bit order in a byte of parity words when the codec is running, including
reading FCS_PAR1 and FCS_PAR2. PAR=1 means the bit order of the parity words should be reversed,
in encoding or decoding .
EN_DE EN_DE=0 indicates an encode operation; EN_DE=1 indicates a decode operation.

5.4

Co
nf
id
en
tia
l

RST

PPP Framer Coprocessor

5.4.1

General Description

The PPP Framer Coprocessor (PFC) is an accelerator for PPP frame parsing; it helps pack and unpack the PPP frame
while performing:
1.

Flag sequence (0x7e) recognition,

2.

Byte stuffing handling, and

3.

16- or 32-bit frame check sequence (FCS) handling.

The PFC architecture is based on Direct Memory Access (DMA). All PPP framer parameters are configurable, such
as Address and Control Field Compression (ACFC), Protocol Field Compression (PFC), 16- or 32-bit FCS, and
Asynchronous Control Character Map (ACCM).

Register Definitions

MT
K

5.4.2

Register Address

Register Function

Acronym

PFC + 0000h

PFC start register

PFC_START

PFC + 0004h

PFC control register

PFC_CON

PFC + 0008h

PFC encoding protocol

PFC_EPTC

199/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
PFC initial byte stuffing configuration for encoding

PFC_EACCM

PFC + 0010h

PFC destination/source address

PFC_D/SRC

PFC + 0014h

PFC destination buffer/source operation length

PFC_D/SLEN

PFC + 0018h

PFC slow down rate

PFC_SDRAT

PFC + 001ch

PFC status

PFC_STAT

PFC + 0020h

PFC current source address in decoding mode

PFC_DCSRC

PFC + 0024h

PFC current source address in encoding mode

PFC_ECSRC

PFC + 0028h

PFC current destination address in decoding mode

PFC_DCDES

PFC + 002ch

PFC current destination address in encoding mode

PFC + 0030h

PFC unread source data length in decoding mode

PFC + 0034h

PFC unread source data length in encoding mode

PFC + 0038h

PFC unused write buffer length in decoding mode

PFC_DUDLEN

PFC + 003ch

PFC unused write buffer length in encoding mode

PFC_EUDLEN

PFC + 0040h

PFC decoding protocol

PFC_DPTC

PFC + 0044h

PFC interrupt status

PFC + 0048h

PFC interrupt enable

fo
r

PFC + 000ch

PFC_ECDES

PFC_DUSLEN

Re
lea
se

PFC_EUSLEN

PFC_INTSTA
PFC_INTEN

Table 35 PFC Registers

PFC+0000h
Bit

15

14

PFC start register
13

Type
Reset

11
10
9
8
7
6
5
4
3
2
1
0
ELAS ELAS DSET
EUPD DUPD
EUPS DUPS NADD DEL/
DF7E
ECLR DCLR
TD
TS
7E
EL
EL
RL
RL
R
ST
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0
0
0
0
0

Co
nf
id
en
tia
l

Name

12

PFC_START

Start register for PPP framer coprocessor.

MT
K

DEL/ST When this bit is enabled, the PFC is started up; otherwise, the DES and DLEN statuses are updated.
NADDR
When NADDR is asserted, PFC updates only DSLEN and bypasses DSRC when updating source or
destination information.
DUPSRL Force an update of the decoding register set for SRC and SLEN. This bit only takes effect when
DEL/ST is enabled. If this bit is disabled, the operation uses the old settings, i.e., CSRC and USLEN.
EUPSRL Force an update of the encoding register set for SRC and SLEN. This bit only takes effect when
DEL/ST is enabled. If this bit is disabled, the operation uses the old settings, i.e., CSRC and USLEN.
DCLR Reset all decoding states and return to the initial state.
ECLR Reset all encoding states and return to the initial state.
DUPDEL Force an update of the decoding register set for DES and DLEN. This bit only takes effect when
DEL/ST is disabled. After asserting this bit, a de-assert should follow immediately (in the next instruction
cycle). Note: The result depends on the ENC bit. Only one of the encoder and decoder parts changes.
EUPDEL Force an update of the encoding register set for DES and DLEN. This bit only takes effect when
DEL/ST is disabled. After asserting this bit, a de-assert should follow immediately (in the next instruction
cycle). Note: The result depends on the ENC bit. Only one of the encoder and decoder parts changes.
DF7E In decoding mode, if PFC starts with DF7E enabled, PFC does nothing until a 0x7e byte is found.
DSET7E
In decoding mode, set 0x7e-found mode.
ELASTS
End the process (append the FCS and flag sequence on last) after source data has run out.

200/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

ELASTD End the process (append the FCS and flag sequence on last) after the destination buffer is full. The
buffer may have a 0- to 4-byte space, depending on byte-stuffing conditions of FCS and the last encoded
character.

PFC+0004h
Bit

15

14

PFC control register
13

12

11

10

PFC_CON

9

Name

7

6

5

4
3
2
1
0
DACF
EACF
EDEL DF32 DPFC
EF32 EPFC
ENC
C
C
R/W R/W R/W R/W R/W R/W R/W R/W
1
0
0
0
0
0
0
0

fo
r

Type
Reset

8

Control register for PPP framer coprocessor.

PFC+0008h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

Re
lea
se

ENC Encode bit. If enabled, this operation is encoding; otherwise the operation is decoding.
EACFC Address and Control Field Compression in encoding mode. This Configuration Option provides a method to
negotiate the compression of the Data Link Layer Address and Control fields. By default, all
implementations MUST transmit frames with Address and Control fields appropriate to the link framing.
When the Address and Control fields are compressed, the Data Link Layer FCS field is calculated based on the
compressed frame, not the original uncompressed frame.
EPFC Protocol Field Compression in encoding mode. PPP Protocol field numbers are chosen such that some
values may be compressed into a single octet form that is clearly distinguishable from the two-octet form.
This Configuration Option is sent to inform the peer that the implementation can receive such single octet
Protocol fields. When a Protocol field is compressed, the Data Link Layer FCS field is calculated on the
compressed frame, not the original uncompressed frame.
EF32 Use FCS32 in encoding mode.
DACFC Use Address and Control Field Compression in decoding mode.
DPFC Use Protocol Field Compression in decoding mode.
DF32 Use FCS32 in decoding mode.
EDEL Escape DEL(0x7f) in encoding mode.

PFC encoding protocol
13

12

11

10

9

8
7
EPTC[15:0]
R/W
0

PFC_EPTC
6

5

4

3

2

1

0

EPTC Encoding protocol. This register contains the protocol field value for encoding a frame.
bits depends on the EPFC bit. An 8-bit protocol uses LSB.

Writing 8 or 16

PFC+000ch

PFC_EACCM

31

30

15

14

PFC byte stuffing configuration for encoding
29

28

27

26

13

12

11

10

25

24
23
22
EACCM[31:16]
R/W
0xffff
9
8
7
6
EACCM[15:0]
R/W
0xffff

21

20

19

18

17

16

5

4

3

2

1

0

EACCM
This byte stuffing control register is for encoding. Each bit of the 32-bit byte stuffing
configuration indicates whether or not to enable the byte stuffing option if that byte value is encountered
during encoding or decoding.
For example, if bit 7 is set to 1 (enabled), then each byte 0x7 encountered is encoded as {0x7d, 0x27}, i.e.
a 0x7d byte followed by the byte (here, 0x7) XOR’ed with 0x20. Similarly, if bit 0 is enabled, {0x7d,
0x20} is decoded into 0x00 by ignoring 0x7d and obtaining 0x20 XOR 0x20 = 0x0.

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

201/616

MediaTek Inc. Confidential

PFC+0010h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

PFC destination/source address

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
D/SRC[31:16]
R/W
0
8
7
D/SRC[15:0]
R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

PFC_D/SRC
22

21

20

19

18

6

5

4

3

2

17

16

1

0

Bit
Name
Type
Reset

15

PFC destination/source operation length
14

13

12

11

10

9

8
7
D/SLEN[15:0]
R/W
0

6

PFC_D/SLEN

5

4

3

Re
lea
se

PFC+0014h

fo
r

D/SRC When DEL/ST is disabled, D/SRC is the destination address to load when UPDEL is enabled.
When DEL/ST is enabled, D/SRC is the source address for PFC operation.

2

1

0

D/SLEN
When DEL/ST is disabled, D/SLEN is the destination buffer length. When DEL/ST is
enabled, D/SLEN is the source length for the PFC operation. Note: Zero length is not allowed in
decoding mode. A zero length when encoding results in padding FCS and 0x7e directly regardless
of whether or not the ELAST bit is asserted.

PFC+0018h
Bit
Name
Type
Reset

15

14

PFC slow down rate
13

12

11

10

9

8

7

6

5

4
3
SDRAT[7:0]
R/W
0

PFC_SDRAT
2

1

0

PFC+001ch
14

Co
nf
id
en
tia
l

SDRAT Slow down the PFC to prevent too many requests for AHB resources. Each unit increment translates into a
4-cycle delay for each bus access (read or write). The range of SDRAT is from 0 (no delay) to 255
(255*4=1020 cycles’ delay).

PFC return status

Bit
Name
Type
Reset

15

STAT

Current status of PFC. 0000b: OK. 0001b: BUSY. 0010b: write buffer full. 0011b: zero source length
in decoding. 0100b: FCS error in decoding mode. 0101b: not starting with 0x7e byte in decoding mode.
0110b: address or control field error in decoding mode. 0111b:Invalid frame due to 0x7d, 0x7e sequence
occurred. 1000b: RESUME stat, wait for next last or non-last operation.

PFC+0020h
31

30

15

14

12

11

10

9

8

7

6

5

4

3

PFC current source address in decoding
29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

PFC_STAT

24
23
22
DCSRC[31:16]
RO
0
8
7
6
DCSRC[15:0]
RO
0

2
1
STAT[3:0]
RO
0

0

PFC_DCSRC
21

20

19

18

17

16

5

4

3

2

1

0

DCSRC CSRC is the current source address in the PFC in decoding mode.

PFC+0024h
Bit

31

30

PFC current source address in encoding
29

28

27

26

25

24

23

202/616

22

PFC_ECSRC
21

20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9

ECSRC[31:16]
RO
0
8
7
ECSRC[15:0]
RO
0

6

5

4

3

Revision 1.0

2

ECSRC CSRC is the current source address in the PFC in encoding mode.

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
DCDES[31:16]
RO
0
8
7
6
DCDES[15:0]
RO
0

1

0

PFC_DCDES

21

20

5

4

19

18

17

16

3

2

1

0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

PFC current destination address in decoding

Re
lea
se

PFC+0028h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

DCDES CDES is the current destination address in the PFC in decoding mode.

PFC+002ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

PFC current destination address in encoding

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
ECDES[31:16]
RO
0
8
7
6
ECDES[15:0]
RO
0

PFC_ECDES

21

20

19

18

17

16

5

4

3

2

1

0

ECDES CDES is the current destination address in the PFC in encoding mode.

Bit
Name
Type
Reset

15

14

DUSLEN

15

15

13

14

13

9

8
7
DUSLEN[15:0]
RO
0

6

5

4

3

2

1

0

12

11

10

9

8
7
EUSLEN[15:0]
RO
0

6

5

PFC_EUSLEN
4

3

2

1

0

12

11

10

9

8
7
DUDLEN[15:0]
RO
0

6

5

4

PFC_DUDLEN
3

2

1

0

Unused write buffer space length in decoding mode.

PFC unused destination buffer length in encoding

MT
K
15

10

PFC unused destination buffer length in decoding

PFC+003ch
Bit
Name
Type
Reset

11

Unread source data length in encoding mode.

PFC+0038h

DUDLEN

12

PFC unread source data length in encoding

14

EUSLEN

Bit
Name
Type
Reset

13

PFC_DUSLEN

DUSLEN is the unread source data length in decoding mode.

PFC+0034h
Bit
Name
Type
Reset

PFC unread source data length in decoding

Co
nf
id
en
tia
l

PFC+0030h

14

13

12

11

10

9

8
7
EUDLEN[15:0]
RO
0

203/616

6

5

4

PFC_EUDLEN
3

2

1

0

MediaTek Inc. Confidential

EUDLEN

Unused write buffer space length in encoding mode.

PFC+0040h
Bit
Name
Type
Reset

15

Revision 1.0

PFC decoding protocol

14

13

12

11

10

9

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

PFC_DPTC
8
7
DPTC[15:0]
RO
0

6

5

4

3

2

1

0

Writing 8 or 16

PFC+0044h

PFC_INTSTA

Bit
Name
Type
Reset

15

PFC interrupt status

14

13

12

11

10

9

8

7

6

5

4

fo
r

DPTC Decoding protocol. This register contains the protocol field value decoded from a frame.
bits depends on the DPFC bit. An 8-bit protocol uses LSB.

PFC+0048h
Bit
Name
Type
Reset

15

PFC interrupt enable

14

13

12

11

10

9

8

7

6

5

4

2

1
0
INTSTA
RC
0

Bit 1 indicates that PFC

Re
lea
se

INTSTA
Interrupt status. Bit 0 indicates that PFC finished with OK or RESUME state.
failed. Further error information can be obtained from PFC_STAT.

3

3

PFC_INTEN
2

1
0
INTEN
R/W
0

INTEN Interrupt enable control register. When bit 0 is enabled, an interrupt occurs when PFC finishes in the OK or
RESUME state. If bit 1 is enabled, PFC interrupts if an error occurs.

5.4.3

MRU

Co
nf
id
en
tia
l

When a PPP task wants to transmit a set of raw data through the network, the data must be encoded first (Figure 63).
In process A, the raw data is prefixed with an Address (0xff) and Control (0x03) field* (AC), followed by Protocol
field** (PTC). An FCS is appended***.
A 0x7e byte is then added both at the front and

MT
K

In process B, the data stream resulting from process A is byte-stuffed.
at the end of the byte-stuffed stream.

Figure 63 Basic PFC Flow
* The Control field depends on the DACFC, EACFC, and EACCM bits.

204/616

MediaTek Inc. Confidential

** The Protocol field depends on the DPTC and EPTC bits.
*** The FCS field depends on the DF32 and EF32 bits.
Figure 64 shows the resulting PPP frame.
Flag

Address

Control

Protocol

Information

Padding

FCS

01111110

11111111

00000011

8/16 bits

*

*

16/32 bits

Flag

01111110

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Figure 64 PPP Frame Structure

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

205/616

MediaTek Inc. Confidential

6

Multi-Media Subsystem

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

MT6228 is a highly integrated Baseband/Multimedia single chip. It integrates several hardware-based multimedia
accelerators to enable rich multimedia application. Hardware accelerators include Image signal processor, Image resizer,
JPEG Codec, MPEG-4 Codec, GIF Decoder, PNG Decoder, 2D graphics engine, TV encoder, and advanced hardware
LCD display controller. A lot of attractive multimedia functions can be realized through above hardware accelerators in
MT6228. The functions include camera function, JPEG/GIF/PNG image playback, MPEG-4 video recording, MPEG-4
video playback, TV out, 2D graphics acceleration, and so on. Image data paths of multi-media sub-system are shown in
Figure 1-1. Hardware data paths and Image DMA are designed to make data transfer more efficient. MT6228 also
incorporates NAND Flash, USB 1.1 OTG Controller and SD/SDIO/MMC/MS/MS Pro Controllers for mass data
transfers and storage.

PNG

Re
lea
se

GIF

Image
Buffer

IPP3

(RGB2YUV)

IPP1

PRZ

(YUV2RGB)

LCD
(Layer 2)

Memory

ISP

Photo
Frame
Buffer

CRZ

OVL

Buffer

File
Buffer

RGB565

Buffer

YUV420

TV
Controller

File
Buffer

Co
nf
id
en
tia
l

Sensor

MPEG4/JPEG
Codec

DRZ

IPP2

(YUV2RGB)

YUV422

TV
Encoder

Composite Video

LCD
(Layer 1)

TV

2D

Figure 6-1 Image Data Path of Multi-media Sub-system

6.1

LCD Interface

6.1.1

General Description

MT6228 contains a versatile LCD controller, which is optimized for multimedia applications. This controller supports
many types of LCD modules and contains a rich feature set to enhance the functionality. These features are:
Up to 320 x 240 resolution

The internal frame buffer supports 8bpp indexed color, RGB 565, RGB 888 and ARGB 8888 format.
Supports 8-bpp (RGB332), 12-bpp (RGB444), 16-bpp (RGB565), 18-bit (RGB666) and 24-bit (RGB888) LCD
modules.

MT
K

6 Layers Overlay with individual color depth, window size, vertical and horizontal offset, source key, alpha value
and display rotation control(90°,180°, 270°, mirror and mirror then 90°, 180° and 270°)
One color look-up table of 24bpp

206/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

For parallel LCD modules, the LCD controller can reuse external memory interface or use dedicated 8/9/16/18-bit
parallel interface to access them and 8080 type interface is supported. It can transfer the display data from the internal
SRAM or external SRAM/Flash Memory to the off-chip LCD modules.

For serial LCD modules, this interface performs parallel to serial conversion and both 8- and 9- bit format serial
interface is supported. The 8-bit format serial interface uses four pins – LSCE#, LSDA, LSCK and LSA0 – to enter
commands and data. Meanwhile, the 9-bit format serial interface uses three pins – LSCE#, LSDA and LSCK – for the
same purpose. Data read is not available with the serial interface and data entered must be 8 bits.

LSCE0#
LSCE1#
LSDA
LSA0
LSCK

>?A@&@BDC

( &  % %  %  !*)
!*+  ##  %
! "#,$  "-% % 

132 
  % 

. 0/  %  !)
!+  
# #  %
! "&#$  " % % 

Co
nf
id
en
tia
l

LPCE0#
LPCE1#
LRST#
LRD#
LPA0
LWR#
NLD[17:0]

Re
lea
se

fo
r

Data and command send to LCM are always through the parallel Nandflash/Lcd interface or through serial SPI/LCD
interface. Sending LCM signals through EMI is forbidden, but the pixel data produced by LCD controller can be
dumped to memory through AHB bus.

  ;
! 
" #$  "&% % &
  '
!"#$  "&% % &
 =<
! 
" #$  "&% % &
  
!"#$  "&% % &
 =H
! 
" #$  "&% % &
  G
!"#$  "&% % &

 !*)54768
9*: $ &

E F

Figure 2 LCD Interface Block Diagram

MT
K

Figure 3 shows the timing diagram of this serial interface. When the block is idle, LSCK is forced LOW and LSCE# is
forced HIGH. Once the data register contains data and the interface is enabled, LSCE# is pulled LOW and remain
LOW for the duration of the transmission.

207/616

MediaTek Inc. Confidential

Revision 1.0

8-bit Serial Interface
LSCK(SPH=SPO=0)
LSDA

D7

D6

D5

D4

D3

D2

D1

D0

A0

D7

D6

D5

D4

D3

D2

D1

LSCE#
LSA0

LSDA
LSCE#
LSA0

fo
r

9-bit Serial Interface
LSCK(SPH=SPO=0)

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

D0

LCD = 0x9000_0000
Address

Register Function

LCD + 0000h

LCD Interface Status Register

LCD + 0004h

LCD Interface Interrupt Enable Register

LCD + 0008h

LCD Interface Interrupt Status Register

Re
lea
se

Figure 3 Serial LCD Interface Transfer Timing Diagram

LCD + 000ch

LCD Interface Frame Transfer Register

LCD + 0010h

LCD Parallel/Serial LCM Reset Register

LCD + 0014h

LCD Serial Interface Configuration Register

LCD + 0018h

LCD Parallel Interface 0 Configuration Register

Width

Acronym

16

LCD_STA

16

LCD_INTEN

16

LCD_INTSTA

16

LCD_START

16

LCD_RSTB

16

LCD_SCNF

32

LCD_PCNF0

LCD Parallel Interface 1 Configuration Register

32

LCD_PCNF1

LCD + 0020h

LCD Parallel Interface 2 Configuration Register

32

LCD_PCNF2

LCD + 0040h

LCD Main Window Size Register

32

LCD_MWINSIZE

LCD + 0044h

LCD ROI Window Write to Memory Offset Register 32

LCD_WROI_W2MOFS

LCD + 0048h

LCD ROI Window Write to Memory Control
Register

16

LCD_WROI_W2MCON

LCD + 004ch

LCD ROI Window Write to Memory Address
Register

32

LCD_WROI_W2MADD

Co
nf
id
en
tia
l

LCD + 001ch

LCD + 0050h

LCD ROI Window Control Register

32

LCD_WROICON

LCD + 0054h

LCD ROI Window Offset Register

32

LCD_WROIOFS

LCD + 0058h

LCD ROI Window Command Start Address Register 16

LCD_WROICADD

LCD + 005ch

LCD ROI Window Data Start Address Register

LCD_WROIDADD

16

LCD + 0060h

LCD ROI Window Size Register

32

LCD_WROISIZE

LCD + 0064h

LCD ROI Window Hardware Refresh Register

32

LCD_WROI_HWREF

LCD + 0068h

LCD ROI Window Background Color Register

32

LCD_WROI_BGCLR

LCD + 0070h

LCD Layer 0 Window Control Register

32

LCD_L0WINCON

LCD Layer 0 Source Color Key Register

32

LCD_L0WINSKEY

LCD Layer 0 Window Display Offset Register

32

LCD_L0WINOFS

LCD + 007ch

LCD Layer 0 Window Display Start Address Register 32

LCD_L0WINADD

LCD + 0080h

LCD Layer 0 Window Size

LCD_L0WINSIZE

MT
K

LCD + 0074h

LCD + 0078h

32

208/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

LCD_L1WINCON

LCD + 0090h

LCD Layer 1 Window Control Register

32

LCD + 0094h

LCD Layer 1 Source Color Key Register

32

LCD_L1WINSKEY

LCD + 0098h

LCD Layer 1 Window Display Offset Register

32

LCD_L1WINOFS

LCD + 009ch

LCD Layer 1 Window Display Start Address Register 32

LCD_L1WINADD

LCD + 00a0h

LCD Layer 1 Window Size

LCD_L1WINSIZE

32

LCD Layer 2 Window Control Register

32

LCD_L2WINCON

LCD Layer 2 Source Color Key Register

32

LCD_L2WINSKEY

LCD + 00b8h

LCD Layer 2 Window Display Offset Register

32

LCD_L2WINOFS

LCD + 00bch

LCD Layer 2 Window Display Start Address Register 32

LCD_L2WINADD

LCD + 00c0h

LCD Layer 2 Window Size

32

LCD_L2WINSIZE

LCD + 00d0h

LCD Layer 3 Window Control Register

32

LCD_L3WINCON

LCD + 00d4h

LCD Layer 3 Source Color Key Register

32

LCD_L3WINSKEY

LCD + 00d8h

LCD Layer 3 Window Display Offset Register

32

LCD_L3WINOFS

Re
lea
se

fo
r

LCD + 00b0h
LCD + 00b4h

LCD + 00dch

LCD Layer 3 Window Display Start Address Register 32

LCD_L3WINADD

LCD + 00e0h

LCD Layer 3 Window Size

32

LCD_L3WINSIZE

LCD + 00f0h

LCD Layer 4 Window Control Register

32

LCD_L4WINCON

LCD + 00f4h

LCD Layer 4 Source Color Key Register

32

LCD_L4WINSKEY

LCD + 00f8h

LCD Layer 4 Window Display Offset Register

32

LCD_L4WINOFS

LCD + 00fch

LCD Layer 4 Window Display Start Address Register 32

LCD_L4WINADD

LCD + 0100h

LCD Layer 4 Window Size

32

LCD_L4WINSIZE

LCD + 0110h

LCD Layer 5 Window Control Register

32

LCD_L5WINCON

LCD Layer 5 Source Color Key Register

32

LCD_L5WINSKEY

LCD Layer 5 Window Display Offset Register

32

LCD_L5WINOFS

LCD + 011ch

LCD Layer 5 Window Display Start Address Register 32

LCD_L5WINADD

LCD + 0120h

LCD Layer 5 Window Size

32

LCD_L5WINSIZE

Co
nf
id
en
tia
l

LCD + 0114h
LCD + 0118h

LCD + 4000h

LCD Parallel Interface 0 Data

32

LCD_PDAT0

LCD + 4100h

LCD Parallel Interface 0 Command

32

LCD_PCMD0

LCD + 5000h

LCD Parallel Interface 1 Data

32

LCD_PDAT1

LCD + 5100h

LCD Parallel Interface 1 Command

32

LCD_PCMD1

LCD + 6000h

LCD Parallel Interface 2 Data

32

LCD_PDAT2

LCD + 6100h

LCD Parallel Interface 2 Command

32

LCD_PCMD2

LCD + 8000h

LCD Serial Interface 1 Data

16

LCD_SDAT1

LCD + 8100h

LCD Serial Interface 1 Command

16

LCD_SCMD1

LCD Serial Interface 0 Data

16

LCD_SDAT0

LCD Serial Interface 0 Command

16

LCD_SCMD0

LCD + c800h
~ cbfch

LCD Color Palette LUT Register

32

LCD_PAL

LCD + cc00h
~ ccfch

LCD Interface Command/Parameter Register

32

LCD_COMD

MT
K

LCD + 9000h
LCD + 9100h

209/616

MediaTek Inc. Confidential

6.1.2

Table 36 Memory map of LCD InterfaceRegister Definitions

LCD +0000h
Bit

15

LCD Interface Status Register

14

13

12

11

10

9

8

LCD_STA

7

6

5

4

3

2
1
0
CMD_ DATA
CPEN _PEN RUN
D
D
R
R
R
0
0
0

Name

fo
r

Type
Reset

RUN LCD Interface Running Status
DATA_PEND Data Pending Indicator in Hardware Trigger Mode
CMD_PEND
Command Pending Indicator in Hardware Triggered Refresh Mode

15

LCD Interface Interrupt Enable Register

14

13

12

11

10

9

8

Name
Type
Reset

7

6

LCD_INTEN
5

4

3

Re
lea
se

LCD +0004h
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

2
1
0
CMD_ DATA
CPL
CPL _CPL
R/W R/W R/W
0
0
0

CPL
LCD Frame Transfer Complete Interrupt Control
DATA_CPL Data Transfer Complete in Hardware Triggered Refresh Mode Interrupt Control
CMD_CPL Command Transfer Complete in Hardware Trigger Refresh Mode Interrupt Control

LCD +0008h
Bit

15

LCD Interface Interrupt Status Register

14

13

12

11

10

9

8

Type
Reset

Co
nf
id
en
tia
l

Name

7

6

5

4

3

LCD_INTSTA
2
1
0
CMD_ DATA
CPL
CPL _CPL
R
R
R
0
0
0

CPL
LCD Frame Transfer Complete Interrupt
DATA_CPL Data Transfer Complete in Hardware Triggered Refresh Mode Interrupt
CMD_CPL Command Transfer Complete in Hardware Triggered Refresh Mode Interrupt

LCD +000Ch
Bit

15
STAR
Name
T
Type R/W
Reset
0

14

LCD Interface Frame Transfer Register
13

12

11

10

9

8

7

6

LCD_START
5

4

3

2

1

0

START Start Control of LCD Frame Transfer

LCD +0010h
15

14

13

MT
K

Bit
Name
Type
Reset

LCD Parallel/Serial Interface Reset Register
12

11

10

9

8

7

6

5

LCD_RSTB
4

3

2

1

0
RSTB
R/W
1

RSTB Parallel/Serial LCD Module Reset Control

LCD +0014h
Bit
15
Name 26M

14
13M

LCD Serial Interface Configuration Register
13

12

11

10

9
8
CSP1 CSP0

7

210/616

6

5

LCD _SCNF
4
8/9

3

2
DIV

1
SPH

0
SPO

MediaTek Inc. Confidential

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

Clock Polarity Control
Clock Phase Control
Serial Clock Divide Select Bits
8-bit or 9-bit Interface Selection
Serial Interface Chip Select 0 Polarity Control
Serial Interface Chip Select 1 Polarity Control

LCD +0018h

LCD Parallel Interface Configuration Register 0

Bit
Name
Type

31
30
C2WS
R/W
0
Bit
15
14
Name 26M 13M
Type R/W R/W
Reset
0
0

29
28
C2WH
R/W
0
13
12

27

11

26
25
C2RS
R/W
0
10
9
WST
R/W
0

24

23

22

21

20

R/W
0

fo
r

SPO
SPH
DIV
8/9
CSP0
CSP1

R/W
0

LCD_PCNF0

19

18

17

16

DW
R/W
0

8

RLT
WST
13M
26M
DW

7

6

5

4

3

Re
lea
se

Type
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

2
RLT
R/W
0

1

0

LCD +001Ch
Bit
Name
Type

Co
nf
id
en
tia
l

Read Latency Time
Write Wait State Time
Enable 13MHz clock gating.
Enable 26MHz clock gating.
Data width of the parallel interface.
00 8-bit.
01 9-bit
10 16-bit
11 18-bit
C2RS Chip Select (LPCE#) to Read Strobe (LRD#) Setup Time
C2WH Chip Select (LPCE#) to Write Strobe (LWR#) Hold Time
C2WS Chip Select (LPCE#) to Write Strobe (LWR#) Setup Time

31
30
C2WS
R/W
0
Bit
15
14
Name 26M 13M
Type R/W R/W
Reset
0
0

RLT
WST
13M
26M
DW

LCD Parallel Interface Configuration Register 1
29
28
C2WH
R/W
0
13
12

27

11

26
25
C2RS
R/W
0
10
9
WST
R/W
0

24

23

8

7

22

21

20

LCD_PCNF1
19

18

17

16

DW
R/W
0
6

5

4

3

2
RLT
R/W
0

1

0

MT
K

Read Latency Time
Write Wait State Time
Enable 13MHz clock gating.
Enable 26MHz clock gating.
Data width of the parallel interface.
00 8-bit.
01 9-bit
10 16-bit
11 18-bit
C2RS Chip Select (LPCE#) to Read Strobe (LRD#) Setup Time

211/616

MediaTek Inc. Confidential

Revision 1.0

C2WH Chip Select (LPCE#) to Write Strobe (LWR#) Hold Time
C2WS Chip Select (LPCE#) to Write Strobe (LWR#) Setup Time

Bit
Name
Type

LCD Parallel Interface Configuration Register 2

31
30
C2WS
R/W
0
Bit
15
14
Name 26M 13M
Type R/W R/W
Reset
0
0

29
28
C2WH
R/W
0
13
12

27

11

26
25
C2RS
R/W
0
10
9
WST
R/W
0

24

23

22

21

20

8

7

6

5

4

30

15

14

29

28

27

26

25

24
23
DATA[31:16]
R/W
8
7
DATA[15:0]
R/W

Co
nf
id
en
tia
l

31

LCD Parallel 0 Interface Data

13

12

11

10

9

3

Re
lea
se

Read Latency Time
Write Wait State Time
Enable 13MHz clock gating.
Enable 26MHz clock gating.
Data width of the parallel interface.
00 8-bit.
01 9-bit
10 16-bit
11 18-bit
C2RS Chip Select (LPCE#) to Read Strobe (LRD#) Setup Time
C2WH Chip Select (LPCE#) to Write Strobe (LWR#) Hold Time
C2WS Chip Select (LPCE#) to Write Strobe (LWR#) Setup Time

Bit
Name
Type
Bit
Name
Type

19

18

17

16

DW
R/W
0

RLT
WST
13M
26M
DW

LCD +4000h

LCD_PCNF2

2
RLT
R/W
0

1

0

fo
r

LCD +0020h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

LCD_PDAT0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

DATA Writing to LCD+4000 will drive LPA0 low when sending this data out in parallel BANK0, while writing to
LCD+4100 will drive LPA0 high.

LCD +5000h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

LCD Parallel 1 Interface Data
29

28

27

26

25

13

12

11

10

9

24
23
DATA[31:16]
R/W
8
7
DATA[15:0]
R/W

LCD_PDAT1
22

21

20

19

18

17

16

6

5

4

3

2

1

0

DATA Writing to LCD+5000 will drive LPA1 low when sending this data out in parallel BANK1, while writing to
LCD+5100 will drive LPA1 high

LCD Parallel 2 Interface Data

MT
K

LCD +6000h
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
DATA[31:16]
R/W
8
7
DATA[15:0]
R/W

212/616

LCD_PDAT2
22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

DATA Writing to LCD+6000 will drive LPA2 low when sending this data out in parallel BANK2, while writing to
LCD+6100 will drive LPA2 high

Bit
Name
Type

15

14

LCD Serial Interface 1 Data
13

12

11

10

9

8

LCD_SDAT1
7

6

5

4
3
DATA
W

2

1

0

fo
r

LCD
+8000/8100h

DATA Writing to LCD+8000 will drive LSA0 low while sending this data out in serial BANK1, while writing to
LCD+8100 will drive LSA0 high

Bit
Name
Type

15

14

LCD Serial Interface 0 Data
13

12

11

10

9

8

LCD_SDAT0

7

6

5

4
3
DATA
W

Re
lea
se

LCD
+9000/9100h

2

1

0

DATA Writing to LCD+9000 will drive LSA0 low while sending this data out in serial BANK0, while writing to
LCD+9100 will drive LSA0 high

LCD +0040h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

LCD_MWINSIZE

23

22

7

6

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Main Window Size Register

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

COLUMN 10-bit Virtual Image Window Column Size
ROW 10-bit Virtual Image Window Row Size

LCD +0044h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Region of Interest Window Write to Memory Offset
Register
29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

LCD_WROI_W2
MOFS
19

18

17

16

3

2

1

0

This control register is used to specify the offset of the ROI window from the LCD_WROI_W2MADDR when writing
the ROI window’s content to memory.
X-OFFSET the x offset of ROI window in the destination memory.
Y-OFFSET the y offset of ROI window in the destination memory.

Region of Interest Window Write to Memory Control
Register

MT
K

LCD +0048h
Bit

15

14

13

12

11

10

9

8

7

Name
Type
Reset

213/616

6

5

4

LCD_WROI_W2
MOON
3

2

1
0
W2M_
DISC
W2L
FORM
ON
CM
AT
R/W R/W R/W
0
0
0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This control register is effective only when the W2M bit is set in LCD_WROICON register.

Region of Interest Window Write to Memory
Address Register

Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

W2M_ADDR

Write to memory address.

LCD +0050h

22

21

20

19

6

5

4

3

Region of Interest Window Control Register

31
30
EN0 EN1
R/W R/W
15
14
ENC W2M
R/W R/W

29
EN2
R/W
13

28
EN3
R/W
12

27
26
EN4 EN5
R/W R/W
11
10
COMMAND
R/W

25

24

9

8

23

22

7

6

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

24
23
W2M_ADDR
R/W
8
7
W2M_ADDR
R/W

LCD_WROI_W2
MADD

Re
lea
se

LCD +004Ch

fo
r

W2LCM
Write to LCM simultaneously.
W2M_FORMAT Write to memory format.
0
RGB565
1
RGB888
DISCON
Block Write Enable Control. By setting both DISCON and W2M to 1, the LCD controller will write
out the ROI pixel data as a part of MAIN window, using the width of MAIN window to calculate the write-out address.
If this bit is not set, the ROI window will be written to memory in continuous addresses.

21
20
19
PERIOD
R/W
5
4
3
FORMAT
R/W

18

17

16

2

1

0

LCD_WROICO
N
18

17

16

2

1

0

MT
K

FORMAT LCD Module Data Format
Bit 0 : in BGR sequence, otherwise in RGB sequence.
Bit 1 : LSB first, otherwise MSB first.
Bit 2 : padding bits on MSBs, otherwise on LSBs.
Bit 5-3 : 000 for RGB332, 001 for RGB444, 010 for RGB565, 011 for RGB666, 100 for RGB888.
Bit 7-6 : 00 for 8-bit interface, 01 for 16-bit interface, 10 for 9-bit interface, 11 for 18-bit interface.
Note: When the interface is configured as 9 bit or 18 bit, the field of bit5-2 is ignored.
00000000
8bit
1cycle/1pixel
RGB3.3.2
RRRGGGBB
00000001
1cycle/1pixel
RGB3.3.2
BBGGGRRR
00001000
3cycle/2pixel
RGB4.4.4
RRRRGGGG
BBBBRRRR
GGGGBBBB
00001011
3cycle/2pixel
RGB4.4.4
GGGGRRRR
RRRRBBBB
BBBBGGGG
00010000
2cycle/1pixel
RGB5.6.5
RRRRRGGG
GGGBBBBB
00010011
2cycle/1pixel
RGB5.6.5
GGGRRRRR
BBBBBGGG
00011000
3cycle/1pixel
RGB6.6.6
RRRRRRXX

214/616

MediaTek Inc. Confidential

GGGGGGXX
BBBBBBXX
RGB6.6.6

00100000

3cycle/1pixel

RGB8.8.8

2cycle/1pixel

RGB6.6.6

2cycle/1pixel

RGB6.6.6

1cycle/2pixel
1cycle/2pixel
1cycle/2pixel
1cycle/2pixel

RGB3.3.2
RGB3.3.2
RGB3.3.2
RGB3.3.2

10011000

9bit

10011011
01000000
01000010
01000001
01000011

16bit

01011111

01011000

01011011

01100000

01100011

RGB4.4.4
RGB4.4.4
RGB4.4.4
RGB4.4.4
RGB5.6.5
RGB5.6.5
RGB6.6.6

18bit

3cycle/2pixel

RGB6.6.6

3cycle/2pixel

RGB6.6.6

3cycle/2pixel

RGB6.6.6

3cycle/2pixel

RGB8.8.8

3cycle/2pixel

RGB8.8.8

1cycle/1pixel
1cycle/1pixel

RGB6.6.6
RGB6.6.6

XXXXRRRRGGGGBBBB
XXXXBBBBGGGGRRRR
RRRRGGGGBBBBXXXX
BBBBGGGGRRRRXXXX
RRRRRGGGGGGBBBBB
BBBBBGGGGGGRRRRR
XXXXRRRRRRGGGGGG
XXXXBBBBBBRRRRRR
XXXXGGGGGGBBBBBB
XXXXGGGGGGRRRRRR
XXXXRRRRRRBBBBBB
XXXXBBBBBBGGGGGG
RRRRRRGGGGGGXXXX
BBBBBBRRRRRRXXXX
GGGGGGBBBBBBXXXX
GGGGGGRRRRRRXXXX
RRRRRRBBBBBBXXXX
BBBBBBGGGGGGXXXX
RRRRRRRRGGGGGGGG
BBBBBBBBRRRRRRRR
GGGGGGGGBBBBBBBB
GGGGGGGGRRRRRRRR
RRRRRRRRBBBBBBBB
BBBBBBBBRRRRRRRR
RRRRRRGGGGGGBBBBBB
BBBBBBGGGGGGRRRRRR

MT
K

11011000
11011001

1cycle/1pixel
1cycle/1pixel
1cycle/1pixel
1cycle/1pixel
1cycle/1pixel
1cycle/1pixel
3cycle/2pixel

Co
nf
id
en
tia
l

01001100
01001101
01001000
01001001
01010000
01010001
01011100

XXRRRRRR
XXGGGGGG
XXBBBBBB
RRRRRRRR
GGGGGGGG
BBBBBBBB
RRRRRRGGG
GGGBBBBBB
GGGRRRRRR
BBBBBBGGG
RRRGGGBBRRRGGGBB
RRRGGGBBRRRGGGBB
BBGGGRRRBBGGGRRR
BBGGGRRRBBGGGRRR

fo
r

3cycle/1pixel

Re
lea
se

00011100

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

COMMAND Number of Commands to be sent to LCD module. Maximum is 63.
W2M Enable Data Address Increasing After Each Data Transfer
ENC Command Transfer Enable Control
PERIOD
Waiting period between two consecutive transfers, effective for both data and command.
ENn
Layer Window Enable Control
215/616

MediaTek Inc. Confidential

Bit
Name
Type
Bit
Name
Type

Region of Interest Window Offset Register

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

LCD_WROIOFS

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

X-OFFSET ROI Window Column Offset
Y-OFFSET ROI Window Row Offset

3

2

14

13

12

11

10

9

8
7
ADDR
R/W

6

5

4

3

2

Re
lea
se

15

18

17

16

1

0

Region of Interest Window Command Start Address LCD_WROICAD
Register
D

LCD +0058h
Bit
Name
Type

19

fo
r

LCD +0054h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

ADDR ROI Window Command Address. Only writing to LCD modules is allowed.

Region of Interest Window Data Start Address
Register

LCD +005Ch
Bit
Name
Type

15

14

13

12

11

10

9

8
7
ADDR
R/W

6

5

LCD_WROIDAD
D

4

3

2

1

0

ADDR ROI Window Data Address Only writing to LCD modules is allowed.

Bit
Name
Type
Bit
Name
Type

31

30

15

14

Region of Interest Window Size Register
29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

Co
nf
id
en
tia
l

LCD +0060h

LCD_WROISIZE

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

COLUMN ROI Window Column Size (width)
ROW ROI Window Row Size (height)

LCD +0064h
Bit

31

30

Region of Interest Window Hardware Refresh
Register
29

28

27

26

EN1

EN2

EN3

EN4

EN5

Type R/W
Reset
0
Bit
15
IMGD
Name MA_S
EL0
Type R/W
Reset
0

R/W
0
14
IMGD
MA_S
EL1
R/W
0

R/W
0
13
IMGD
MA_S
EL2
R/W
0

R/W
0
12
IMGD
MA_S
EL3
R/W
0

R/W
0
11
IMGD
MA_S
EL4
R/W
0

R/W
0
10
IMGD
MA_S
EL5
R/W
0

MT
K

Name EN0

25

24

9

8

LCD_WROI_HW
REF

23
22
21
20
19
18
IMGD IMGD IMGD IMGD IMGD IMGD
MA0 MA1 MA2 MA3 MA4 MA5
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
7
6
5
4
3
2

17

16

1

0

HWE
N

HWR
EF

R/W
0

R/W
0

ENn
Enable layer n source address from Image_DMA.
IMGDMAn Enable layer n source data from Image_DMA.
IMGDMA_SELnSelect layer n read from Image_DMA0 or Image_DMA1.

216/616

MediaTek Inc. Confidential

Revision 1.0

0 Image_DMA0.
1 Image_DMA1
HWEN Enable hardware triggered LCD fresh.
HWREF
Starting the hardware triggered LCD frame transfer.

31

30

29

15

14

13

28

27

12
11
GREEN[7:0]
R/W
1111_1111

26

25

24

23

22

21

10

9

8

7

6

5

20
19
RED[7:0]
R/W
1111_1111
4
3
BLUE[7:0]
R/W
1111_1111

18

17

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

LCD_WROI_BG
CLR

Region of Interest Background Color Register

2

Re
lea
se

LCD +0068h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

16

0

RED Red component of ROI window’s background color
GREEN Green component of ROI window’s background color
BLUE Blue component of ROI window’s background color

LCD +0070h
Bit
Name
Type
Bit

31

30

14
KEYE
Name SRC
N
Type R/W R/W

29

28

27

26

25

24

13

12

11

10

9

8
OPAE
N
R/W

ROTATE

CLRDPT

R/W

R/W

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16
SWP
R/W
0

OPA
R/W

Co
nf
id
en
tia
l

15

LCD_L0WINCO
N

Layer 0 Window Control Register

MT
K

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration
000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise
KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

217/616

MediaTek Inc. Confidential

LCD +0074h
31

30

29

28

27

26

15

14

13

12

11

10

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

20

19

18

5

4

3

2

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

LCD+007Ch

23

22

7

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

19

3

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

Co
nf
id
en
tia
l

30

16

1

0

18

17

16

2

1

0

LCD_L0WINAD
D

Layer 0 Window Display Start Address Register

31

17

LCD_L0WINOF
S

Layer 0 Window Display Offset Register

Y-OFFSET Layer 0 Window Row Offset
X-OFFSET Layer 0 Window Column Offset

Bit
Name
Type
Bit
Name
Type

21

Transparent color key of the source image.

LCD +0078h
Bit
Name
Type
Bit
Name
Type

25

fo
r

SRCKEY

LCD_L0WINSK
EY

Layer 0 Source Color Key Register

Re
lea
se

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR Layer 0 Window Data Address

LCD +0080h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

LCD_L0WINSIZ
E

Layer 0 Window Size
29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

ROW Layer 0 Window Row Size
COLUMN Layer 0 Window Column Size

LCD +0090h
31

30

29

MT
K

Bit
Name
Type
Bit

15

14
KEYE
N
R/W R/W

Name SRC
Type

LCD_L1WINCO
N

Layer 1 Window Control Register

13

28

27

26

25

24

23

22

21

20

19

18

17

12

11

10

9

8
OPAE
N
R/W

7

6

5

4

3

2

1

ROTATE

CLRDPT

R/W

R/W

218/616

16
SWP
R/W
0

OPA
R/W

MediaTek Inc. Confidential

31

30

29

28

27

26

15

14

13

12

11

10

SRCKEY

25

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

21

20

19

18

17

16

5

4

3

2

1

0

Transparent color key of the source image.

LCD +0098h
Bit
Name
Type
Bit
Name
Type

LCD_L1WINSK
EY

Layer 1 Source Color Key Register

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Re
lea
se

LCD +0094h

fo
r

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration
000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise
KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

15

14

LCD_L1WINOF
S

Layer 1 Window Display Offset Register
29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

19

18

17

16

3

2

1

0

Y-OFFSET Layer 1 Window Row Offset
X-OFFSET Layer 1 Window Column Offset

LCD+009Ch
31

30

29

28

27

26

25

15

14

13

12

11

10

9

MT
K

Bit
Name
Type
Bit
Name
Type

LCD_L1WINAD
D

Layer 1 Window Display Start Address Register
24
23
ADDR
R/W
8
7
ADDR
R/W

219/616

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

ADDR Layer 1 Window Data Address

Bit
Name
Type
Bit
Name
Type

LCD_L1WINSIZ
E

Layer 1 Window Size

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21
20
ROW
R/W
5
4
COLUMN
R/W

ROW Layer 1 Window Row Size
COLUMN Layer 1 Window Column Size

Bit
Name
Type
Bit

31

3

2

14
KEYE
Name SRC
N
Type R/W R/W

29

28

27

26

25

24

13

12

11

10

9

8
OPAE
N
R/W

ROTATE

CLRDPT

R/W

R/W

17

16

1

0

LCD_L2WINCO
N

Layer 2 Window Control Register

30

15

18

Re
lea
se

LCD +00B0h

19

fo
r

LCD +00A0h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16
SWP
R/W
0

OPA
R/W

LCD +00B4h

LCD_L2WINSK
EY

Layer 2 Source Color Key Register

31

30

29

28

27

26

15

14

13

12

11

10

MT
K

Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration
000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise
KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

25

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

220/616

21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Transparent color key of the source image.

LCD +00B8h
Bit
Name
Type
Bit
Name
Type

LCD_L2WINOF
S

Layer 2 Window Display Offset Register

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

Y-OFFSET Layer 2 Window Row Offset
X-OFFSET Layer 2 Window Column Offset

Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

LCD +00C0h

24
23
ADDR
R/W
8
7
ADDR
R/W

30

15

14

2

29

28

27

26

13

12

11

25

10

17

16

1

0

LCD_L2WINAD
D

22

21

20

19

18

17

16

6

5

4

3

2

1

0

LCD_L2WINSIZ
E

Layer 2 Window Size
24

23

Co
nf
id
en
tia
l

31

3

Layer 2 Window Display Start Address Register

ADDR Layer 1 Window Data Address

Bit
Name
Type
Bit
Name
Type

18

Re
lea
se

LCD+00BCh

19

fo
r

SRCKEY

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

9

8

7

22

6

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

ROW Layer 2 Window Row Size
COLUMN Layer 2 Window Column Size

LCD +00D0h
Bit
Name
Type
Bit

31

15

30

14
KEYE
Name SRC
N
Type R/W R/W

LCD_L3WINCO
N

Layer 3 Window Control Register
29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8
OPAE
N
R/W

7

6

5

4

3

2

1

ROTATE

CLRDPT

R/W

R/W

16
SWP
R/W
0

OPA
R/W

MT
K

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration

221/616

MediaTek Inc. Confidential

31

30

29

28

27

26

15

14

13

12

11

10

SRCKEY

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

Transparent color key of the source image.

LCD +00D8h
Bit
Name
Type
Bit
Name
Type

25

31

30

15

14

21

20

19

18

17

16

5

4

3

2

1

0

LCD_L3WINOF
S

Layer 3 Window Display Offset Register
29

28

27

26

25

24

23

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

LCD_L3WINSK
EY

Layer 3 Source Color Key Register

Re
lea
se

LCD +00D4h

fo
r

000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise
KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

13

12

11

10

9

8

7

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

19

18

17

16

3

2

1

0

Y-OFFSET Layer 3 Window Row Offset
X-OFFSET Layer 3 Window Column Offset

LCD+00DCh
Bit
Name
Type
Bit
Name
Type

31

30

15

14

LCD_L3WINAD
D

Layer 3 Window Display Start Address Register
29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR Layer 3 Window Data Address

Bit
Name
Type
Bit
Name
Type

LCD_L3WINSIZ
E

Layer 3 Window Size

MT
K

LCD +00E0h
31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

222/616

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

ROW Layer 3 Window Row Size
COLUMN
Layer 3 Window Column Size

Bit
Name
Type
Bit

31

30

15

LCD_L4WINCO
N

Layer 4 Window Control Register

14
KEYE
Name SRC
N
Type R/W R/W

29

28

27

26

25

24

23

22

21

20

19

18

13

12

11

10

9

8
OPAE
N
R/W

7

6

5

4

3

2

ROTATE

CLRDPT

R/W

R/W

17
1

fo
r

LCD +00F0h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

16
SWP
R/W
0

OPA
R/W

LCD +00F4h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

SRCKEY

Co
nf
id
en
tia
l

Re
lea
se

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration
000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise
KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

29

28

27

26

13

12

11

10

25

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

21

20

19

18

17

16

5

4

3

2

1

0

Transparent color key of the source image.

LCD_L4WINOF
S

Layer 4 Window Display Offset Register

MT
K

LCD +00F8h
Bit
Name
Type
Bit
Name
Type

LCD_L4WINSK
EY

Layer 4 Source Color Key Register

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

223/616

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

19

18

17

16

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Y-OFFSET Layer 4 Window Row Offset
X-OFFSET Layer 4 Window Column Offset

Bit
Name
Type
Bit
Name
Type

LCD_L4WINAD
D

Layer 4 Window Display Start Address Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

22

21

20

19

18

6

5

4

3

2

ADDR Layer 4 Window Data Address

Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

ROW Layer 4 Window Row Size
COLUMN
Layer 4 Window Column Size

Bit
Name
Type
Bit

31

15

30

23

22

7

6

21
20
ROW
R/W
5
4
COLUMN
R/W

14
KEYE
Name SRC
N
Type R/W R/W

1

0

19

18

17

16

3

2

1

0

LCD_L5WINCO
N

Layer 5 Window Control Register
29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8
OPAE
N
R/W

7

6

5

4

3

2

1

Co
nf
id
en
tia
l

LCD +0110h

16

LCD_L4WINSIZ
E

Layer 4 Window Size

Re
lea
se

LCD +0100h

17

fo
r

LCD+00FCh

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

ROTATE

CLRDPT

R/W

R/W

16
SWP
R/W
0

OPA
R/W

MT
K

OPA Opacity value, used as constant alpha value.
OPAEN Opacity enabled
CLRDPT Color format
00 8bpp indexed color.
01 RGB 565
10 ARGB 8888
11 RGB 888
ROTATE Rotation Configuration
000 0 degree rotation
001 90 degree rotation anti-counterclockwise
010 180 degree rotation anti-counterclockwise
011 270 degree rotation anti-counterclockwise
100 Horizontal flip
101 Horizontal flip then 90 degree rotation anti-counterclockwise
110 Horizontal flip then 180 degree rotation anti-counterclockwise
111 Horizontal flip then 270 degree rotation anti-counterclockwise

224/616

MediaTek Inc. Confidential

Revision 1.0

KEYEN Source Key Enable Control
SRC Disable auto-increment of the source pixel address
SWP Swap high byte and low byte of pixel data

31

30

29

28

27

26

15

14

13

12

11

10

SRCKEY

24
23
22
SRCKEY[31:16]
R/W
9
8
7
6
SRCKEY[15:0]
R/W

20

19

18

5

4

3

2

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

31

30

15

14

22

7

6

21
20
Y-OFFSET
R/W
5
4
X-OFFSET
R/W

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

16

1

0

19

18

17

16

3

2

1

0

LCD_L5WINAD
D

Layer 5 Window Display Start Address Register

Co
nf
id
en
tia
l

LCD+011Ch

23

17

LCD_L5WINOF
S

Layer 5 Window Display Offset Register

Y-OFFSET Layer 5 Window Row Offset
X-OFFSET Layer 5 Window Column Offset

Bit
Name
Type
Bit
Name
Type

21

Transparent color key of the source image.

LCD +0118h
Bit
Name
Type
Bit
Name
Type

25

Re
lea
se

Bit
Name
Type
Bit
Name
Type

LCD_L5WINSK
EY

Layer 5 Source Color Key Register

fo
r

LCD +0114h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR Layer 5 Window Data Address

LCD +0120h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

LCD_L5WINSIZ
E

Layer 5 Window Size
29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

21
20
ROW
R/W
5
4
COLUMN
R/W

19

18

17

16

3

2

1

0

ROW Layer 5 Window Row Size
COLUMNLayer 5 Window Column Size

MT
K

LCD
+C800h~CBFCh
Bit
Name
Type

31

30

29

LCD Interface Color Palette LUT Registers
28

27

26

25

24

23

22

21

20

LCD_PAL
19

18

17

16

LUT
R/W

225/616

MediaTek Inc. Confidential

Bit
Name
Type

15

14

13

LUT

These Bits Set LUT Data in RGB565 Format

11

10

9

8

7

5

4

3

2

30

LCD Interface Command/Parameter Registers
29

28

27

26

25

24

23

Name

22

21

20

6

5

4

C0
15

14

13

12

11

10

9

R/W
8
7
COMM[15:0]
R/W

1

0

LCD_COMD
19

18

17
16
COMM[17:16
]
R/W
1
0

fo
r

31

Type
Bit
Name
Type

6

LUT
R/W

LCD
+CC00h~CCFC
Bit

12

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

2

6.2

NAND FLASH interface

6.2.1

General description

MT6228 provides NAND flash interface.
The NAND FLASH interface support features as follows:

Re
lea
se

COMM Command Data and Parameter Data for LCD Module
C0
Write to ROI Command Address if C0 = 1, otherwise write to ROI Data Address

ECC (Hamming code) acceleration capable of one-bit error correction or two bits error detection.

Co
nf
id
en
tia
l

Programmable ECC block size. Support 1, 2 or 4 ECC block within a page.
Word/byte access through APB bus.

Direct Memory Access for massive data transfer.

Latch sensitive interrupt to indicate ready state for read, program, erase operation and error report.
Programmable wait states, command/address setup and hold time, read enable hold time, and write enable
recovery time.
Support page size: 512(528) bytes and 2048(2112) bytes.
Support 2 chip select for NAND flash parts.
Support 8/16 bits I/O interface.

MT
K

The NFI core can automatically generate ECC parity bits when programming or reading the device. If the user approves
the way it stores the parity bits in the spare area for each page, the AUTOECC mode can be used. Otherwise, the user
can prepare the data (may contains operating system information or ECC parity bits) for the spare area with another
arrangement. In the former case, the core can check the parity bits when reading from the device. The ECC module
features the hamming code, which is capable of correcting one bit error or detecting two bits error within one ECC
block.

226/616

MediaTek Inc. Confidential

6.2.2

Register definition

NFI+0000h
Bit
Name
Type
Reset

Revision 1.0

15

NAND flash access control register
14

13

12

11

10

9
C2R
R/W
0

8

7

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

NFI_ACCCON
6

5

W2R
R/W
0

4

3

WH
R/W
0

2
WST
R/W
0

1

0

RLT
R/W
0

RLT

WST

Re
lea
se

WH

The field represents the minimum required time from NCEB low to NREB low.
The field represents the minimum required time from NWEB high to NREB low. It’s in unit of 2T. So the
actual time ranges from 2T to 8T in step of 2T.
Write-enable hold-time.
The field specifies the hold time of NALE, NCLE, NCEB signals relative to the rising edge of NWEB. This
field is associated with WST to expand the write cycle time, and is associated with RLT to expand the read
cycle time.
Read Latency Time
The field specifies how many wait states to be inserted to meet the requirement of the read access time for the
device.
00 No wait state.
01 1T wait state.
10 2T wait state.
11 3T wait state.
Write Wait State
The field specifies the wait states to be inserted to meet the requirement of the pulse width of the NWEB
signal.
00 No wait state.
01 1T wait state.
10 2T wait state.
11 3T wait state.

NFI +0004h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

C2R
W2R

fo
r

This is the timing access control register for the NAND FLASH interface. In order to accommodate operations for
different system clock frequency ranges from 13MHz to 52MHz, wait states and setup/hold time margin can be
configured in this register.

NFI page format control register

14

13

12

11

10

9

8
B16E
N
R/W
0

7

NFI_PAGEFMT
6

5

4

ECCBLKSIZE
R/W
0

3

2
ADRM
ODE
R/W
0

1

0

PSIZE
R/W
0

This register manages the page format of the device. It includes the bus width selection, the page size, the associated
address format, and the ECC block size.

MT
K

B16EN 16 bits I/O bus interface enable.
ECCBLKSIZE ECC block size.
This field represents the size of one ECC block. The hardware-fuelled ECC generation provides 2 or 4 blocks
within a single page.
0 ECC block size: 128 bytes. Used for devices with page size equal to 512 bytes.
1 ECC block size: 256 bytes. Used for devices with page size equal to 512 bytes.

227/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
2

fo
r

ECC block size: 512 bytes. Used for devices with page size equal to 512 (1 ECC block) or 2048 bytes (4
ECC blocks).
3 ECC block size: 1048 bytes. Used for devices with page size equal to 2048 bytes.
4~ Reserved.
ADRMODE Address mode. This field specifies the input address format.
0 Normal input address mode, in which the half page identifier is not specified in the address assignment
but in the command set. As in Table 37, A7 to A0 identifies the byte address within half a page, A12 to A9
specifies the page address within a block, and other bits specify the block address. The mode is used
mostly for the device with 512 bytes page size.
1 Large size input address mode, in which all address information is specified in the address assignment
rather than in the command set. As in Table 38, A11 to A0 identifies the byte address within a page. The
mode is used for the device with 2048 bytes page size and 8bits I/O interface.
Large size input address mode. As in Table 38, A10 to A0 identifies the column address within a page.
The mode is used for the device with 2048 byte page size and 16bits I/O interface.

NLD7
A7
First cycle
Second cycle A16

NLD6
A6
A15

Re
lea
se

2

NLD5
A5
A14

NLD4
A4
A13

NLD3
A3
A12

NLD2
A2
A11

NLD1
A1
A10

NLD0
A0
A9

NLD1
A1
A9

NLD0
A0
A8

Table 37 Page address assignment of the first type (ADRMODE = 0)
NLD7
A7
First cycle
Second cycle 0

NLD6
A6
0

NLD5
A5
0

NLD4
A4
0

NLD3
A3
A11

NLD2
A2
A10

Table 38 Page address assignment of the second type (ADRMODE = 1 or 2)

NFI +0008h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

PSIZE Page Size.
The field specifies the size of one page for the device. Two most widely used page size are supported.
0 The page size is 512 bytes or 528 bytes (including 512 bytes data area and 16 bytes spare area).
1 The page size is 2048 bytes or 2112 bytes (including 2048 bytes data area and 64 bytes spare area).
2~ Reserved.

Operation control register

14

13
12
NOB
W/R
0

11

10

9

8
SRD
WO
0

7

NFI_OPCON
6

5
4
EWR ERD
WO WO
0
0

3

2

1
0
BWR BRD
R/W R/W
0
0

This register controls the burst mode and the single of the data access. In burst mode, the core supposes there are one or
more than one page of data to be accessed. On the contrary, in single mode, the core supposes there are only less than 4
bytes of data to be accessed.
Burst read mode. Setting this field to be logic-1 enables the data read operation. The NFI core will issue read
cycles to retrieve data from the device when the data FIFO is not full or the device is not in the busy state. The
NFI core supports consecutive page reading. A page address counter is built in. If the reading reaches to the
end of the page, the device will enter the busy state to prepare data of the next page, and the NFI core will
automatically pause reading and remain inactive until the device returns to the ready state. The page address
counter will restart to count from 0 after the device returns to the ready state and start retrieving data again.

MT
K

BRD

228/616

MediaTek Inc. Confidential

EWR
SRD
NOB

fo
r

ERD

Burst write mode. Setting to be logic-1 enables the data burst write operation for DMA operation. Actually the
NFI core will issue write cycles once if the data FIFO is not empty even without setting this flag. But if DMA
is to be utilized, the bit should be enabled. If DMA is not to be utilized, the bit didn’t have to be enabled.
ECC read mode. Setting to be logic-1 initializes the ECC checking and correcting for the current page. The
ECC checking is only valid when a full ECC block has been read.
Setting to be logic-1 initializes the ECC parity generation for the current page. The ECC code generation is
only valid when a full ECC block has been programmed.
Setting to be logic-1 initializes the one-shot data read operation. It’s mainly used for read ID and read status
command, which requires no more than 4 read cycles to retrieve data from the device.
The field represents the number of bytes to be retrieved from the device in single mode, and the number of
bytes per AHB transaction in both single and burst mode.
0 Read 4 bytes from the device.
1 Read 1 byte from the device.
2 Read 2 bytes from the device.
3 Read 3 bytes from the device.

NFI +000Ch
Bit
Name
Type
Reset

15

Command register

14

13

12

11

10

9

8

Re
lea
se

BWR

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7

6

5

4

3

NFI_CMD
2

1

0

CMD
R/W
45

This is the command input register. The user should write this register to issue a command. Please refer to device
datasheet for the command set. The core can issue some associated commands automatically. Please check out register
NFI_CON for those commands.
Command word.

NFI +0010h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

CMD

Address length register

14

13

12

11

10

9

8

7

NFI_ADDNOB
6

5

4

3

2
1
0
ADDR_NOB
R/W
0

This register represents the number of bytes corresponding to current command. The valid number of bytes ranges from
1 to 5. The address format depends on what device to be used and what commands to be applied. The NFI core is made
transparent to those different situations except that the user has to define the number of bytes.
The user should write the target address to the address register NFI_ADDRL before programming this register.
ADDR_NOB

NFI +0014h

Least significant address register

31

30

29

15

14

13

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Number of bytes for the address

28
27
ADDR3
R/W
0
12
11
ADDR1
R/W
0

NFI_ADDRL

26

25

24

23

22

21

10

9

8

7

6

5

20
19
ADDR2
R/W
0
4
3
ADDR0
R/W
0

18

17

16

2

1

0

This defines the least significant 4 bytes of the address field to be applied to the device. Since the device bus width is 1
byte, the NFI core arranges the order of address data to be least significant byte first. The user should put the first
address byte in the field ADDR0, the second byte in the field ADDR1, and so on.
229/616

MediaTek Inc. Confidential

Revision 1.0

ADDR3 The fourth address byte.
ADDR2 The third address byte.
ADDR1 The second address byte.
ADDR0 The first address byte.

NFI +0018h
15

14

13

12

11

10

9

8

7

NFI_ADDRM
6

5

4
3
ADDR4
R/W
0

2

1

0

fo
r

Bit
Name
Type
Reset

Most significant address register

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

ADDR4 The fifth address byte.

NFI +001Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Write data buffer

31

30

29

15

14

13

28
27
DW3
R/W
0
12
11
DW1
R/W
0

26

25

24

10

9

8

Re
lea
se

This register defines the most significant byte of the address field to be applied to the device. The NFI core supports
address size up to 5 bytes. Programming this register implicitly indicates that the number of address field is 5. In this
case, the NFI core will automatically set the ADDR_NOB to 5.

23

22

21

7

6

5

20
19
DW2
R/W
0
4
3
DW0
R/W
0

NFI_DATAW
18

17

16

2

1

0

DW3
DW2
DW1
DW0

Write data byte 3.
Write data byte 2.
Write data byte 1.
Write data byte 0.

NFI +0020h
Bit
Name
Type
Reset

Co
nf
id
en
tia
l

This is the write port of the data FIFO. It supports word access. The least significant byte DW0 is to be programmed to
the device first, then DW1, and so on.
If the data to be programmed is not word aligned, byte write access will be needed. Instead, the user should use another
register NFI_DATAWB for byte programming. Writing a word to NFI_DATAW is equivalent to writing four bytes
DW0, DW1, DW2, DW3 in order to NFI_DATAWB. Be reminded that the word alignment is from the perspective of
the user. The device bus is byte-wide. According to the flash’s nature, the page address will wrap around once it reaches
the end of the page.

15

Write data buffer for byte access

14

13

12

11

10

9

8

7

NFI_DATAWB
6

5

4

3

2

1

0

DW0
R/W
0

This is the write port for the data FIFO for byte access.
DW0

Write data byte.

Read data buffer

MT
K

NFI +0024h
Bit
Name
Type
Reset

31

30

29

28
27
DR3
RO
0

26

NFI_DATAR
25

24

23

230/616

22

21

20
19
DR2
RO
0

18

17

16

MediaTek Inc. Confidential

Bit
Name
Type
Reset

15

14

13

12
11
DR1
RO
0

10

9

8

7

6

5

4

3

Revision 1.0
2

DR0
RO
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

Read data byte 3.
Read data byte 2.
Read data byte 1.
Read data byte 0.

NFI +0028h
Bit
Name
Type
Reset

15

Read data buffer for byte access
14

13

12

11

10

9

8

6

5

4

3

2

1

0

DR0
RO
0

This is the read port of the data FIFO for byte access.

NFI +002Ch
Bit

7

NFI_DATARB

15

NFI status

14

13

12

11

10

9

8

Re
lea
se

DR3
DR2
DR1
DR0

fo
r

This is the read port of the data FIFO. It supports word access. The least significant byte DR0 is the first byte read from
the device, then DR1, and so on.

Name

BUSY

Type
Reset

RO
0*

7

6

5

4

NFI_PSTA

3
2
1
0
DATA DATA
ADDR CMD
W
R
R/W R/W R/W R/W
0
0
0
0

Co
nf
id
en
tia
l

This register represents the NFI core control status including command mode, address mode, data program and read
mode. The user should poll this register for the end of those operations.
*The value of BUSY bit depends on the GPIO configuration. If GPIO is configured for NAND flash application, the
reset value should be 0, which represents that NAND flash is in idle status. When the NAND flash is busy, the value
will be 1.
BUSY Synchronized busy signal from the NAND flash. It’s read-only.
DATAW The NFI core is in data write mode.
DATAR The NFI core is in data read mode.
ADDR The NFI core is in address mode.
CMD The NFI core is in command mode.

NFI +0030h
Bit
Name
Type
Reset

15

FIFO control

14

13

12

11

10

9

8

7

NFI_FIFOCON
6

5
4
3
2
1
0
RESE FLUS WR_F WR_E RD_F RD_E
T
H
ULL MPTY ULL MPTY
WO WO
RO
RO
RO
RO
0
0
0
1
0
1

The register represents the status of the data FIFO.

MT
K

RESET
Reset the state machine and data FIFO.
FLUSH
Flush the data FIFO.
WR_FULL Data FIFO full in burst write mode.
WR_EMPTY
Data FIFO empty in burst write mode.
RD_FULL
Data FIFO full in burst read mode.
RD_EMPTY
Data FIFO empty in burst read mode.
231/616

MediaTek Inc. Confidential

NFI +0034h
Bit

15

Name

BYTE
_RW

NFI control
14

13

Type R/W
Reset
0

12

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

NFI_CON

11
10
9
8
MULT
PROG ERAS
IPAG READ
RAM_ E_CO
E_CO _CON
CON
N
N
R/W R/W R/W R/W
0
0
0
0

7

6

5
4
SW_P MULT
ROGS I_PA
PARE GE_R
_EN D_EN
R/W R/W
0
0

3
AUTO
ECC_
ENC_
EN
R/W
0

2
1
0
AUTO
DMA_ DMA_
ECC_
WR_E RD_E
DEC_
N
N
EN
R/W R/W R/W
0
0
0

fo
r

The register controls the DMA and ECC functions. For all field, Setting to be logic-1 represents enabled, while 0
represents disabled.

NFI +0038h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

Re
lea
se

BYTE_RW Enable APB byte access.
MULTIPAGE_CON This bit represents that the first-cycle command for read operation (00h) can be automatically
performed to read the next page automatically. Automatic ECC decoding flag AUTOECC_DEC_EN should
also be enabled for multiple page access.
READ_CON
This bit represents that the second-cycle command for read operation (30h) can be automatically
performed.
PROGRAM_CON
This bit represents that the second-cycle command for page program operation (10h) can be
automatically performed after the data for the entire page (including the spare area) has been written. It should
be associated with automatic ECC encoding mode enabled.
ERASE_CON The bit represents that the second-cycle command for block erase operation (D0h) can be
automatically performed after the block address is latched.
SW_PROGSPARE_EN
If enabled, the NFI core allows the user to program or read the spare area directly.
Otherwise, the spare area can be programmed or read by the core.
MULTI_PAGE_RD_EN
Multiple page burst read enable. If enabled, the burst read operation could continue
through multiple pages within a block. It’s also possible and more efficient to associate with DMA scheme to
read a sector of data contained within the same block.
AUTOECC_ENC_EN Automatic ECC encoding enable. If enabled, the ECC parity is written automatically to the
spare area right after the end of the data area. If SW_PROGSPARE_EN is set, however, the mode can’t be
enabled since the core can’t access the spare area.
AUTOECC_DEC_EN Automatic ECC decoding enabled, the error checking and correcting are performed
automatically on the data read from the memory and vice versa. If enabled, when the page address reaches the
end of the data read of one page, additional read cycles will be issued to retrieve the ECC parity-check bits
from the spare area to perform checking and correcting.
DMA_WR_EN
This field is used to control the activity of DMA write transfer.
DMA_RD_EN This field is used to control the activity of DMA read transfer.

Interrupt status register

14

13

NFI_INTR

12
11
10
9
8
7
6
5
4
3
2
1
0
ERAS RESE
RD
BUSY
WR_C
ERR_ ERR_ ERR_ ERR_ ERR_ ERR_ ERR_ ERR_ E_CO T_CO
_CO
_RET
OMPL
COR3 COR2 COR1 COR0 DET3 DET2 DET1 DET0 MPLE MPLE
MPLE
URN
ETE
TE
TE
TE
RC
RC
RC
RC
RC
RC
RC
RC
RC
RC
RC
RC
RC
0
0
0
0
0
0
0
0
0
0
0
0
0

MT
K

The register indicates the status of all the interrupt sources. Read this register will clear all interrupts.
BUSY_RETURN
Indicates that the device state returns from busy by inspecting the R/B# pin.
ERR_COR3
Indicates that the single bit error in ECC block 3 needs to be corrected.
ERR_COR2
Indicates that the single bit error in ECC block 2 needs to be corrected.

232/616

MediaTek Inc. Confidential

Bit

15

Interrupt enable register

14

13

12

ERR_ ERR_ ERR_
Name COR3 COR2 COR1
_EN _EN _EN
Type R/W
0
Reset

R/W
0

11

10

9

NFI_INTR_EN

8

ERR_ ERR_ ERR_
DET3 DET2 DET1
_EN _EN _EN

R/W
0

R/W
0

R/W
0

7

6

5

4

3
ERAS
BUSY
ERR_ ERR_ E_CO
_RET
COR_ DET_ MPLE
URN_
EN
EN TE_E
EN
N
R/W R/W R/W R/W
0
0
0
0

Re
lea
se

NFI +003Ch

fo
r

ERR_COR1
Indicates that the single bit error in ECC block 1 needs to be corrected.
ERR_COR0
Indicates that the single bit error in ECC block 0 needs to be corrected.
ERR_DET3 Indicates an uncorrectable error in ECC block 3.
ERR_DET2 Indicates an uncorrectable error in ECC block 2.
ERR_DET1 Indicates an uncorrectable error in ECC block 1.
ERR_DET0 Indicates an uncorrectable error in ECC block 0.
ERASE_COMPLETE
Indicates that the erase operation is completed.
RESET_COMPLETE
Indicates that the reset operation is completed.
WR_COMPLETE
Indicates that the write operation is completed.
RD_COMPLETE
Indicates that the single page read operation is completed.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

This register controls the activity for the interrupt sources.

2
RESE
T_CO
MPLE
TE_E
N
R/W
0

1

0

WR_C
OMPL
ETE_
EN

RD_
COM
PLET
E_EN

R/W
0

R/W
0

NFI+0040h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

ERR_COR1_EN
The error correction interrupt enable for the 2nd ECC block.
ERR_COR2_EN
The error correction interrupt enable for the 3rd ECC block.
ERR_COR3_EN
The error correction interrupt enable for the 4th ECC block.
ERR_DET1_EN
The error detection interrupt enable for the 2nd ECC block.
ERR_DET2_EN
The error detection interrupt enable for the 3rd ECC block.
ERR_DET3_EN
The error detection interrupt enable for the 4th ECC block.
BUSY_RETURN_EN The busy return interrupt enable.
ERR_COR_EN
The error correction interrupt enable for the 1st ECC block.
ERR_DET_EN
The error detection interrupt enable for the 1st ECC block.
ERASE_COMPLETE_EN The erase completion interrupt enable.
RESET_COMPLETE_EN The reset completion interrupt enable.
WR_COMPLETE_EN
The single page write completion interrupt enable.
RD_COMPLETE_EN The single page read completion interrupt enable.

NFI_PAGECNT
R

NAND flash page counter

14

13

12

11

10

9

8

7

6

5

4
3
CNTR
R/W
0

2

1

0

MT
K

The register represents the number of pages that the NFI has read since the issuing of the read command. For some
devices, the data can be read consecutively through different pages without the need to issue another read command.
The user can monitor this register to know current page count, particularly when read DMA is enabled.
CNTR

The page counter.

233/616

MediaTek Inc. Confidential

NFI+0044h
Bit
Name
Type
Reset

15

NFI_ADDRCNT
R

NAND flash page address counter
14

13

12

11

10

9

8

7

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6
5
CNTR
R/W
0

4

3

2

1

0

fo
r

The register represents the current read/write address with respect to initial address input. It counts in unit of byte. In
page read and page program operation, the address should be the same as that in the state machine in the target device.
NFI supports the address counter up to 4096 bytes.
CNTR

The address count.

Bit
Name
Type
Reset

15

ECC block 0 parity error detect syndrome address
14

13

12

11

10

9

8

Re
lea
se

NFI +0050h

7

6

5

4

3

NFI_
SYM0_ADDR
2

1

0

SYM
RO
0

This register identifies the address within ECC block 0 that a single bit error has been detected.
SYM

The byte address of the error-correctable bit.

NFI +0054h
15

14

13

12

11

10

9

8

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

NFI_SYM1_ADD
R

ECC block 1 parity error detect syndrome address
6

5

4

3

2

1

0

SYM
RO
0

This register identifies the address within ECC block 1 that a single bit error has been detected.
SYM

The byte address of the error-correctable bit.

NFI +0058h
Bit
Name
Type
Reset

15

NFI_SYM2_ADD
R

ECC block 2 parity error detect syndrome address

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SYM
RO
0

This register identifies the address within ECC block 2 that a single bit error has been detected.
SYM

The byte address of the error-correctable bit.

NFI +005Ch
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SYM
RO
0

MT
K

Bit
Name
Type
Reset

NFI_SYM3_ADD
R

ECC block 3 parity error detect syndrome address

This register identifies the address within ECC block 3 that a single bit error has been detected.

234/616

MediaTek Inc. Confidential

The byte address of the error-correctable bit.

NFI +0060h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

ECC block 0 parity error detect syndrome word
30

29

28

27

26

25

24

23

22

21

11

10

9

8

7

6

5

ED3
RO
0
15

14

13

12
ED1
RO
0

NFI_SYM0_DAT

20
19
ED2
RO
0
4
3
ED0
RO
0

18

2

17

16

1

0

fo
r

SYM

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register represents the syndrome word for the corrected ECC block 0. To correct the error, the user should first
read NFI_ SYM0_ADDR for the address of the correctable word, and then read NFI_SYM0_DAT, directly XOR the
syndrome word with the data word to obtain the correct word.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

ECC block 1 parity error detect syndrome word
30

29

28

27

26

25

24

11

10

9

8

ED3
RO
0
15

14

13

12
ED1
RO
0

NFI_SYM1_DAT

Re
lea
se

NFI +0064h

23

22

21

7

6

5

20
19
ED2
RO
0
4
3
ED0
RO
0

18

17

16

2

1

0

NFI +0068h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

Co
nf
id
en
tia
l

This register represents the syndrome word for the corrected ECC block 0. To correct the error, the user should first
read NFI_ SYM1_ADDR for the address of the correctable word, and then read NFI_SYM1_DAT, directly XOR the
syndrome word with the data word to obtain the correct word.

ECC block 2 parity error detect syndrome word

30

29

28

27

26

25

24

23

22

21

11

10

9

8

7

6

5

ED3
RO
0

15

14

13

12

ED1
RO
0

NFI_SYM2_DAT

20
19
ED2
RO
0
4
3
ED0
RO
0

18

17

16

2

1

0

This register represents the syndrome word for the corrected ECC block 0. To correct the error, the user should first
read NFI_ SYM2_ADDR for the address of the correctable word, and then read NFI_SYM2_DAT, directly XOR the
syndrome word with the data word to obtain the correct word.

NFI +006Ch
31

30

29

28

27

26

25

24

23

22

21

11

10

9

8

7

6

5

ED3
RO
0

15

14

13

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

ECC block 3 parity error detect syndrome word

12
ED1
RO
0

235/616

NFI_SYM3_DAT

20
19
ED2
RO
0
4
3
ED0
RO
0

18

17

16

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register represents the syndrome word for the corrected ECC block 0. To correct the error, the user should first
read NFI_ SYM3_ADDR for the address of the correctable word, and then read NFI_SYM3_DAT, directly XOR the
syndrome word with the data word to obtain the correct word.\

NFI +0070h
Bit

15

NFI ECC error detect indication register
14

13

12

11

10

9

8

7

6

NFI_ERRDET
5

4

Name

fo
r

Type
Reset

This register identifies the block in which an uncorrectable error has been detected.

Bit
Name
Type
Reset

15

NFI ECC parity word 0
14

13

12

11

10

9

NFI_PAR0

8

7

6
PAR
RO
0

5

4

3

Re
lea
se

NFI +0080h

3
2
1
0
EBLK EBLK EBLK EBLK
3
2
1
0
RO
RO
RO
RO
0
0
0
0

2

1

0

This register represents the ECC parity for the ECC block 0. It’s calculated by the NFI core and can be read by the user.
It’s generated when writing or reading a page.
Register Address

Register Function

NFI +0080h

NFI ECC parity word 0

NFI +0084h

NFI ECC parity word 1

NFI +0088h

NFI ECC parity word 2

Acronym

NFI_PAR0

NFI_PAR1

NFI_PAR2

NFI ECC parity word 3
NFI ECC parity word 4

NFI_PAR4

NFI ECC parity word 5

NFI_PAR5

NFI ECC parity word 6

NFI_PAR6

NFI ECC parity word 7

NFI_PAR7

NFI +0094h
NFI +0098h
NFI +009Ch

NFI_PAR3

Co
nf
id
en
tia
l

NFI +008Ch
NFI +0090h

Table 39 NFI parity bits register table

NFI+0100h
Bit
Name
Type
Reset

15

NFI device select register

14

13

12

11

10

9

8

7

NFI_CSEL
6

5

4

3

2

1

0
CSEL
R/W
0

The register is used to select the target device. It decides which CEB pin to be functional. This is useful while using the
high-density device.

MT
K

CSEL Chip select. The value defaults to 0.
0 Device 1 is selected.
1 Device 2 is selected.

6.2.3

Device programming sequence

This section lists the program sequences to successfully use any compliant devices.
For block erase

236/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Enable erase complete interrupt (NFI_INTR_EN = 8h).

2.

Write command (NFI_CMD = 60h).

3.

Write block address (NFI_ADDR).

4.

Set the number of address bytes (NFI_ADDRNOB).

5.

Check program status (NFI_PSTA) to see whether the operation has been completed. Omitted if ERASE_CON has
been set.

6.

Write command (NFI_CMD = D0h). Omitted if ERASE_CON has been set.

7.

Check the erase complete interrupt.

For status read
Write command (NFI_CMD = 70h).

2.

Set single word read for 1 byte (NFI_OPCON = 1100h).

3.

Check program status (NFI_PSTA) to see whether the operation has been completed.

4.

Read single byte (NFI_DATAR).

For page program

Re
lea
se

1.

fo
r

1.

Enable write complete interrupt (NFI_INTR_EN = 2h).

2.

Set DMA mode, and hardware ECC mode (NFI_CON = Ah).

3.

Write command (NFI_CMD = 80h).

4.

Write page address (NFI_ADDR).

5.

Set the number of address bytes (NFI_ADDRNOB).

6.

Set burst write (NFI_OPCON = 2h).

7.

In DMA mode, the signal DMA_REQ controls the access. The user can also check the status of the FIFO
(NFI_FIFOCON) and write a pre-specified number of data whenever the FIFO is not full and until the end of page
is reached.

8.

Check program status (NFI_PSTA) to see whether all operation has been completed.

9.

Set ECC parities write. Omitted if hardware ECC mode has been set.

Co
nf
id
en
tia
l

1.

10. Check program status (NFI_PSTA) to see whether the above operation has been completed.
11. Write command (NFI_CMD = 10h). Omitted if PROGRAM_CON has been set.
12. Check the program complete interrupt.
For page read

Enable busy ready, read complete, ECC correct indicator, and ECC error indicator interrupt. (NFI_INTR_EN =
41h).

2.

Set DMA mode, and hardware ECC mode. (NFI_CON = 5h).

3.

Write command (NFI_CMD = 00h).

4.

Write page address (NFI_ADDR).

5.

Set the number of address bytes (NFI_ADDRNOB).

MT
K

1.

237/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
6.

Check busy ready interrupt.

7.

Set burst read (NFI_OPCON = 1h).

8.

In DMA mode, the signal DMA_REQ controls the access. The user can also check the status of the FIFO
(NFI_FIFOCON) and read a pre-specified number of data whenever the FIFO is not empty and until the end of
page is reached.

9.

Set ECC parities check. Omitted if hardware ECC mode has been set.

fo
r

10. Check program status (NFI_PSTA) or check ECC correct and error interrupt.
11. Read the ECC correction or error information.

6.2.4

Device timing control

Re
lea
se

This section illustrates the timing diagram.
The ideal timing for write access is listed as listed in Table 40.
Parame
ter

Description

TWC1

Write cycle time

TWC2

Timing specification

Timing at 13MHz

Timing at 26MHz

Timing at 52MHz

(WST, WH) = (0,0)

(WST, WH) = (0,0)

(WST, WH) = (1,0)

3T + WST + WH

230.8ns

105.4ns

76.9ns

Write cycle time

2T + WST + WH

153.9ns

76.9ns

57.7ns

TDS

Write data setup time

1T + WST

76.9ns

38.5ns

38.5ns

TDH

Write data hold time

1T + WH

76.9ns

38.5ns

19.2ns

TWP

Write enable time

1T + WST

76.9ns

38.5ns

38.5ns

Write high time

1T + WH

76.9ns

38.5ns

19.2ns

Command latch enable
setup time

1T

76.9ns

38.5ns

19.2ns

TCLH

Command latch enable
hold time

1T + WH

76.9ns

38.5ns

19.2ns

TALS

Address latch enable
setup time

1T

76.9ns

38.5ns

19.2ns

TALH

Address latch enable
hold time

1T + WH

76.9ns

38.5ns

19.23ns

FWC

Write data rate

1 / TWC2

6.5Mbytes/s

13Mbytes/s

17.3Mbytes/s

Co
nf
id
en
tia
l

TWH
TCLS

MT
K

Table 40 Write access timing

238/616

MediaTek Inc. Confidential

HCLK
WST

NCLE
tCLS, tALS

tCLH, tALH

tWP

NWEB

tDS

NLD

tDH

command

tCES

tCEH

Re
lea
se

NCEB

fo
r

NALE

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

tWC1

Figure 4 Command input cycle (1 wait state).
HCLK
WST

WST

NCLE
tCLS

NALE
tALS

NWEB

OE
(internal)
NCEB

tWC2

tWP

tWP

tWP

tWH

Co
nf
id
en
tia
l

NLD

tWC1

WST

A0

tCES

tALH

tWH

A1

tDH

tCLH

A2
tDH

tDH

tCEH

MT
K

Figure 5 Address input cycle (1 wait state)

239/616

MediaTek Inc. Confidential

HCLK
WST

NCLE

WST

WST

tCLS

tCLH

tWC1
tWC2

NALE
NWEB

tWC2
tWP

tWP
tWH

D526
tDH

OE
(internal)

D527

tDH

tDH

tCES

tCEH

Re
lea
se

NCEB

tWH

D0

NLD

tALH

tWP

fo
r

tALS

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Figure 6 Consecutive data write cycles (1 wait state, 0 hold time extension)

HCLK
NCLE

tCLS

WST

WH

tWC1
tWC2

NALE
tALS

NWEB

OE
(internal)
NCEB

tWP

WH
tCLH

tALH

tWH

Co
nf
id
en
tia
l

NLD

tWP

WST

D0

D527

tDH

tDH

tCES

tCEH

Figure 7 Consecutive data write cycles (1 wait state, 1 hold time extension)
The ideal timing for read access is as listed in Table 6.
Parame
ter

Description

Timing
specification

Timing at 13MHz

Timing at 26MHz

Timing at 52MHz

(RLT, WH) = (0,0)

(RLT, WH) = (1,0)

(RLT, WH) = (2,0)

TRC1

Read cycle time

3T + RLT + WH

230.8ns

153.8ns

96.2ns

TRC2

Read cycle time

2T + RLT + WH

153.9ns

115.4ns

76.9ns

Read data setup time

1T + RLT

76.9ns

76.9ns

57.7ns

Read data hold time

1T + WH

76.9ns

38.5ns

19.2ns

TRP

Read enable time

1T + RLT

76.9ns

76.9ns

57.7ns

MT
K

TDS
TDH

TRH

Read high time

1T + WH

76.9ns

38.5ns

19.2ns

TCLS

Command latch enable
setup time

1T

76.9ns

38.5ns

19.2ns

240/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
TCLH

Command latch enable
hold time

1T + WH

76.9ns

38.5ns

19.2ns

TALS

Address latch enable
setup time

1T

76.9ns

38.5ns

19.2ns

TALH

Address latch enable hold
time

1T + WH

76.9ns

38.5ns

19.2ns

FRC

Write data rate

1 / TRC2

6.5Mbytes/s

8.7Mbytes/s

13Mbytes/s

HCLK
RLT

RLT

WH

NCLE
tCLS
tWH
tWP
tDH

D0

NLD

D527

OE
(internal)
NCEB

Re
lea
se

NREB

WH

tCLH, tALH

NALE
tALS

fo
r

Table 41 Read access timing

tCES

tDH

tCEH

HCLK

Co
nf
id
en
tia
l

Figure 8 Serial read cycle (1 wait state, 1 hold time extension)

RLT

NCLE

W2R

tCLS

NALE

tCLH

tALS

NWEB

RLT

tALH

tWP

tWHR

NREB

tDS

NLD

tDH

70h

tCES

NCEB
OE
(internal)

tRP
Status
tCEH

MT
K

Figure 9 Status read cycle (1 wait state)

241/616

MediaTek Inc. Confidential

HCLK
NCLE
tCLS

tCLH

NALE
tALS

tALH
tWP

NWEB

tWP

fo
r

tWHR

NREB
tDS

tDH
90h

NLD

tRP

tDH

tDS
00h

01h, 06h

tCES

tCEH

Figure 10 ID and manufacturer read (0 wait state)

6.3
6.3.1

USB OTG Controller
General Description

Re
lea
se

NCEB
OE
(internal)

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Co
nf
id
en
tia
l

The USB OTG controller complies with Universal Serial Bus (USB) Specification Rev 1.1 and USB On-The-Go (OTG)
Supplement Rev. 1.0a. The USB OTG controller supports USB device mode, USB simple host mode, as well as OTG
handshaking capabilities, at full-speed (12 Mbps) operation. The cellular phone uses this widely available USB
interface to exchange data with USB hosts such as a PC or laptop; or to function as a host, allowing it to connect to
other devices. When operating in host mode, only a single peer-to-peer (no intermediate hub) connection is
supported.
The USB device controller provides 5 endpoints in addition to the mandatory control endpoint, three of which are for
TX transactions and two for RX transactions. Word, half-word, and byte access methods are allowed for loading and
unloading the FIFO buffer. Four independent DMA channels are equipped with the separate controllers to accelerate
data transfer. The features of each endpoint are as follows:
Endpoint 0 RX: A double buffer is implemented; each buffer is an 8-byte FIFO.

DMA transfer is not supported.

2.

Endpoint 0 TX: A double buffer is implemented; each buffer is an 8-byte FIFO.

DMA transfer is not supported.

3.

Endpoint 1 RX: A 64-byte FIFO that accommodates maximum packet size of 64 bytes.
supported.

DMA transfer is

4.

Endpoint 1 TX: A 64-byte FIFO that accommodates maximum packet size of 64 bytes.
supported.

DMA transfer is

5.

Endpoint 2 RX: A 64-byte FIFO that accommodates maximum packet size of 64 bytes. DMA transfer is
supported.

MT
K

1.

6.

Endpoint 2 TX: A 64-byte FIFO that accommodates maximum packet size of 64 bytes.
supported.

7.

Endpoint 3 TX: An 8-byte FIFO that accommodates maximum packet size of 8 bytes.
supported.

242/616

DMA transfer is
DMA transfer is not

MediaTek Inc. Confidential

This controller is highly software configurable.
bulk, interrupt or isochronous endpoints.

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

All endpoints except the control endpoint can be configured to be a

Note: The Internal Bus clock must be running at 26Mhz or higher for the USB OTG controller to operate correctly.

6.3.2

USB MEMBUF Mapping and BDT Format

USB MEMBUF Memory Map

MT
K

Co
nf
id
en
tia
l

Re
lea
se

6.3.2.1

fo
r

The controller uses a buffer descriptor table (BDT) mechanism for control information as well as address pointer into
the data buffer that contains the data for each endpoint. A single dedicated software-addressable local memory
(USB_MEMBUF) is allocated inside the USB controller to contain both the BDT and the data. Detailed descriptions
of the BDT and the USB_MEMBUF mapping follow.

Figure 11 USB Memory Buffer (96x32)
243/616

MediaTek Inc. Confidential

6.3.2.2

Buffer Descriptor Byte Format

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Each Buffer Descriptor contains 8 bytes of data. The first word contains control information, and the second word
contains the address of the associated data buffer.
Bit

31:26 25:16

Name RSVD
Name

BC

15:8

7

6
5
4
3
2
1 0
DATA0 KEEP/TOK_PI NINC/TOK_PID DTS/TOK_PID[ BDT_STALL/TOK_P
0 0
RSVD OWN
/1
D[3]
[2]
1]
ID[0]
Buffer Address (32 bits)

These bits are

fo
r

(Note: VUSB refers to the USB controller hardware)
BUFFER ADDRESS The Address bits represent the 32 -bit buffer address in USB MEMBUF.
unchanged by the VUSB hardware.

The Byte Count bits represent a 10-bit Byte Count. The VUSB Serial Interface Engine (SIE) changes this
field upon completion of a RX transfer with the byte count of the data received.

OWN

The OWN bit determines who currently owns the buffer. If OWN=1, VUSB has exclusive access to the
BD. If OWN=0 the microprocessor has exclusive access to the BD. The SIE generally writes a 0 to this
bit when it has completed a token, except when KEEP=1. When OWN=0, the VUSB ignores all other
fields in the BD, and the microprocessor has access to the entire BD. This byte of the BD must be the last
byte updated by the microprocessor when initializing a BD. Once the BD has been assigned to the VUSB,
the microprocessor must not change it in any way.

Re
lea
se

BC[9:0]

DATA0/1 The DATA0/1 bit indicates if a DATA0 field (DATA0/1=0) or a DATA1 (DATA0/1=1) field was transmitted
or received. This bit is unchanged by the VUSB.

Co
nf
id
en
tia
l

KEEP/TOK_PID[3] If KEEP=1, once the OWN bit is set, the BD is owned by the VUSB. Typically this bit is set
to 1 for ISO endpoints that are feeding a FIFO. The microprocessor is not informed that a token has
been processed, the data is simply transferred to or from the FIFO. The NINC bit is normally also set
when KEEP=1 to prevent address increment. KEEP must equal 0 to allow the VUSB to release the
BD when a token has been processed.
If KEEP=1, this bit is unchanged by the VUSB; otherwise bit 3 of the current token PID is written
back into the BD by the VUSB.
NINC/TOK_PID[2] The No INCrement bit disables the DMA engine address increment, forcing the DMA engine to
read from or to write to the same address. This feature is useful when data needs to be read from or
written to a single location such as a FIFO. Typically this bit is set with the KEEP bit for ISO
endpoints that interface with a FIFO.
If KEEP=1, this bit is unchanged by the VUSB; otherwise bit 2 of the current token PID is written
back into the BD by the VUSB.
DTS/TOK_PID[1]
Setting this bit enables Data Toggle Synchronization by the VUSB. When this bit is 0, no
Data Toggle Synchronization is performed.
If KEEP=1, this bit is unchanged by the VUSB; otherwise bit 1 of the current token PID is written
back into the BD by the VUSB.

MT
K

BDT_STALL/TOK_PID[0] Setting this bit causes the VUSB to issue a STALL handshake if a token is received by
the SIE that would use the BDT in this location. The BDT is not changed by the SIE (the own
bit and the rest of the BDT remain unchanged) when the BDT-STALL bit is set.
If KEEP=1, this bit is unchanged by the VUSB; otherwise bit 0 of the current token PID is
written back into the BD by the VUSB.
TOK_PID The current token PID is written back into the BD by the VUSB when a transfer is complete. The token
PID takes on values from the USB specification: 0x1 for an OUT token, 0x9 for an IN token or 0xd for a
SETUP token. In host mode, this field is used to report the last returned PID or to indicate the transfer

244/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

status. The possible values returned are: 0x3 DATA0, 0xb DATA1, 0x2 ACK, 0xe STALL, 0xa NAK, 0x0
Bus Timeout, 0xf Data Error.

6.3.3

Operating Modes

The USB_OTG controller supports 3 modes of operation.

6.3.3.1

Standard Mode

fo
r

In this mode, MEMBUF data is accessed via a single software read/write operation. Both 8-bit and 32-bit access
methods are supported. Standard mode is the most flexible operating mode with the maximum software control
flexibility. All BDT values are required to be managed by software. However, the throughput for standard mode is
slowest of the three modes due to heavy software intervention.

Direct Memory Access (DMA) Mode

Re
lea
se

6.3.3.2

In DMA mode, MEMBUF data for endpoints 1 and 2 (TX and RX) is accessed via DMA. This access method allows
for faster data movement. To issue a DMA transfer, software must enable and disable the individual USB DMA
control via its corresponding register set. Aside from the faster data movement, everything is the same as in standard
mode.

6.3.3.3

Fast Mode

Co
nf
id
en
tia
l

To increase the operating throughput, the USB OTG controller provides a “fast mode” operation. This mode is most
suitable for transmission of large, regular chunks of data. While operating in this mode, DMA is enabled
automatically for endpoints 1 and 2 (TX and RX), and each packet transfer is 64 bytes. In order to minimize software
involvement and latency, all interrupts to the MCU (except for fast mode error status) are masked during the
transmission until the last packet is transferred. Fast mode supports only one endpoint and one direction.

Note:
When using fast mode, the own bit of the BDT must be 0 to avoid a software
configuration race problem. Hardware manages the own bit value and also BDT values
automatically.

6.3.4

Special Conditions

Due to the complex nature of the USB OTG controller design and software operation, some special cases must be
noted:
1.

When using DMA mode, if B2W of the generic DMA is enabled with 4-beat burst and byte access, then the
transfer count of the generic DMA controller must be set to a 4-byte multiple. Otherwise, once the controller
arranges the data into words, the few remaining bytes are incorrectly read or written one byte at a time, and each
byte is padded to a 4-byte word. The internal USB DMA controller treats each read/write as one word and
increments the address after each read/write, thereby incrementing the access pointer incorrectly.

MT
K

From a software perspective, all transfer byte counts that are not 4-byte aligned must be padded to a 4-byte
multiple; That amount of space must be allocated for receiving: the extra bytes of memory need to be reserved so
the received data does not overwrite any useful data.
For example: If generic DMA is to move 13 bytes of data from USB MEM to SRAM, software must allocate 16
bytes in SRAM for such an operation. The last 3 bytes are unknown data and are to be discarded by software.

2.

During a host mode operation, the CRC16 bit of the USB_ERR_STAT register cannot be checked.
the TOK_PID bits of the BDT to check for a data CRC error.

245/616

Instead, use

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

When operating in fast mode, software must ignore the token_dne status bit of the USB_INT_STAT register.

4.

Interrupts can come from the following sources:

6.3.5

a.

sources listed in the USB_INT_STAT register,

b.

sources listed in the USB_OTG_INT_STAT register,

c.

sources listed in the USB_FM_ERR_STAT register, or,

d.

PHY resume interrupt.

fo
r

3.

Register Definitions

(Note: VUSB and SIE refer to the USB controller hardware internal modules)

Bit
Name
Type
Reset

USB Peripheral ID register

7

6

0

Bit
Name
Type
Reset

4

3

2

6

1

0

This number is set to 0x04 for hardware core version control.

USB Peripheral ID complement register

7

1

ID [5:0]
RO
0x04

0

DEBUG PURPOSES ONLY
ID
Configuration number.

70000004h

5

USB_PER_ID

Re
lea
se

70000000h

5

4

3

USB_ID_COMP

2

1

0

NID [5:0]
RO

1

70000008h
Bit
Name
Type
Reset

7

Co
nf
id
en
tia
l

DEBUG PURPOSES ONLY
NID
One’s complement of ID. This register reads back 0xFB.

USB revision register
6

5

4

3

USB_REV
2

1

0

REV [7:0]
RO

DEBUG PURPOSES ONLY
REV
Revision ID of the hardware controller core. This register reads back 0x32.

7000000Ch
Bit
Name
Type
Reset

7

USB_ADD_INF
O

USB Peripheral additional info register
6

5

4

3

2

1

0

MT
K

DEBUG PURPOSES ONLY
This register is used for debug purposes only. The register reads back 0x01.

70000010h

USB OTG Interrupt status register

Bit

7

6

Name

ID_CHG

1_MSEC

Type

R/W

R/W

5
LINE_STATE_C
HG
R/W

4

3
2
SESS_VLD_ B_SESS_CH
CHG
G
R/W
246/616

USB_ISTAT
1

0
A_VBUS_CH
G
R/W

MediaTek Inc. Confidential

Reset

0

0

0

0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0

The OTG Interrupt Status Register records changes of the ID and VBUS signals. Software reads this register to
determine which event is causing an interrupt. Only bits that have changed since the last software read are set.
Writing a one to a bit clears the respective interrupt. The change conditions are de-bounced in hardware.
ID_CHG
1_MSEC

70000014h
Bit

7

Name

ID_EN

Type
Reset

R/W
0

Re
lea
se

fo
r

This bit is set when a change in the ID Signal from the USB connector is sensed.
This bit is set when the 1 millisecond timer expires. This bit stays asserted until cleared by software.
The interrupt must be serviced every millisecond to avoid losing 1 ms counts.
LINE_STATE_CHG This interrupt is set when the USB line state (CTL_RG SE0 and JSTATE bits) has been stable
(unchanged) for 1 millisecond, and if the line state value is different from the last time that the line
state was stable. The interrupt is set on transitions between SE0 and J, SE0 and K, and J and K.
Changes in JSTATE while SE0 is true do not cause an interrupt. This interrupt can be used in
detecting Reset, Resume, Connect and Data Line Pulse signaling.
SESS_VLD_CHG
This bit is set when a change in VBUS is detected, indicating a session has become valid or a
session is no longer valid.
B_SESS_END_CHG This bit is set when a change in VBUS is detected on a “B” device.
A_VBUS_CHG
This bit is set when a change in VBUS is detected on an “A” device.

USB OTG Interrupt Control register
6

5
LINE
1_MSEC_EN
STATE_EN
R/W
R/W
0
0

4

3
2
SESS_VLD_
B_SESS_EN
EN
R/W
0

USB_OTG_ICT
RL

1

0
A_VBUS_EN
R/W
0

70000018h
Bit

7

Name

ID

Type
Reset

R/W
0

ID

Co
nf
id
en
tia
l

ID_EN
Enables the ID interrupt.
1_MSEC_EN
Enables the 1 millisecond timer interrupt.
LINESTATE_EN
Enables the interrupt on a line state change.
SESS_VLD_EN Enables the session valid interrupt.
B_SESS_EN
Enables the “B” Session End Interrupt.
A_VBUS_EN Enables the “A” VBUS Valid Interrupt.

USB OTG status register
6

1_MSEC
R/W
0

5
LINE_STATE_STA
BLE
R/W
0

4

3

2
B_SESS_EN
SESS_VLD
D
R/W
0

USB_OTG_STAT
1

0
A_VBUS_VL
D
R/W
0

MT
K

Indicates the current state of the ID pin on the USB connector:
0: A Type A cable has been plugged into the USB connector;
1: no cable is attached or a Type B cable has been plugged into the USB connector.
1_MSEC
DEBUG only. This bit is reserved for the 1Msec count. The bit is not useful to software.
LINE_STATE_STABLE
This bit is set when the line state (JSTATE and SE0 in the CTL_RG) has been stable for
the previous 1 millisecond. This bit is used to provide a hardware debounce of the line state for
detection of connect, disconnect and resume signaling. First read the state of JSTATE and SE0 in
the CTL_RG, then read this bit. If this bit is 1, then the value of the JSTATE and SE0 bits of the
CTL_RG have been static for the previous 1ms and can be considered debounced.
SESS_VLD
This bit is set when the VBUS voltage is above the “B” session Valid threshold.
B_SESS_END
This bit is set when the VBUS voltage is below the “B” session End threshold.

247/616

MediaTek Inc. Confidential

A_VBUS_VLD

This bit is set when the VBUS voltage is above the “A” VBUS Valid threshold.

7000001Ch

USB OTG Control register

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

USB_OTG_CTRL

Bit

7

6

5

4

3

2

1

Name

DP_HIGH

DM_HIGH

DP_LOW

DM_LOW

VBUS_ON

OTG_EN

VBUS_CHG

Type
Reset

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

0
VBUS_DSC
HG
R/W
0

fo
r

The OTG Control Register controls the operation of VBUS and data line termination resistors.

Re
lea
se

When set, a pull-up resistor on the D+ Data line is enabled.
DP_HIGH
DM_HIGH When set, a pull-up resistor on the D- Data line is enabled.
DP_LOW
When set, a pull-down resistor on the D+ Data line is enabled.
DM_LOW
When set, a pull-down resistor on the D- Data line is enabled.
VBUS_ON When set, the VBUS power signal is turned on.
OTG_EN When set, the pull-up and pull-down controls in this register are used.

When OTG_EN is cleared:

• If the CTL register HOST_MODE bit is set, the D+ and D- pull-down resistors are engaged; or,
• If the CTL register HOST_MODE bit is clear and the USB_EN bit is set, the D+ pull-up is engaged.
VBUS_CHG
VBUS_DSCHG

70000020h
7

70000024h
Bit
Name
Type
Reset

7

USB_FM_PKT_NU
M_L

USB FM packet count number (low byte)
6

5

4
3
PKT_NUM[7:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

When set, the VBUS signal is charged through a resistor.
When set, the VBUS signal is discharged through a resistor.

2

5

4
3
PKT_NUM[15:8]
R/W
0

0

USB_FM_PKT_NU
M_H

USB FM packet count number (low byte)
6

1

2

1

0

FAST MODE ONLY
PKT_NUM
These 2 registers combined specify the number of 64-byte packets to be transferred.

70000028h
Bit

USB_FM_ERR_
STAT

USB FM error status register

7
6
STA_OVR_F FM_TOK_D
Name
LW
ONE
Type
R/W
R/W
Reset
0
0

5

4

DMA TX
R/W
0

3

2

1

0

DMA RX

SUC_ERR

NAK_ERR

SHRT_ERR

R/W
0

R/W
0

R/W
0

R/W
0

MT
K

FAST MODE ONLY All status bits that are set are cleared by rewriting a 1.
STA_OVR_FLW
Indicates that during fast mode, the non-fast mode status FIFO (+0x50) has overflowed.
FM_TOK_DONE
This is the non-fast mode endpoint token done interrupt. During fast mode operation, any
non-fast mode endpoint token done signal is moved to this register bit for indication.

248/616

MediaTek Inc. Confidential

SUC_ERR
NAK_ERR
register.
SHRT_ERR

70000028h
Bit

HOST mode only. Short packet error. This bit is set when the data transferred in a single
transaction is less than 64 bytes.

fo
r

DMA_RX_EN

DEBUG only. Asserted if fm dma_rx_en is asserted and USB_FM_INT_MASK (+0x6C) mask is
enabled.
DEBUG only. Asserted if fm dma_rx_en is asserted and USB_FM_INT_MASK (+0x6C) mask is
enabled.
HOST mode only. 3 successive errors. This bit is set when the error count is 3 and
USB_FM_CTRL (+0x2C) is 1, or when the error count is 1 and USB_FM_CTRL (+0x2C) is 0.
HOST mode only. This bit is set when the NAK count exceeds the IN-NAK Timeout Setting

USB FM control register

7

6

Name

TOG_BIT

Type
Reset

R/W
0

5

USB_FM_CTRL

4

3
2
1
0
SUC_ERR_E EPT0_TX_O EPT0_RX_O FASTMODE
N
DD
DD
_EN
R/W
R
R
R/w
1
0
0
0

Re
lea
se

DMA_TX_EN

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

FAST MODE ONLY
TOG_BIT
Data toggle bit. This bit indicates whether the type of data transmitted or received by hardware was
DATA0 or DATA1.
0:
DATA0
1:
DATA1
EP0_TX_ODD
Endpoint 0 TX ODD. This bit is set when using the TX ODD BDT.
EP0_RX_ODD
Endpoint 0 RX ODD. This bit is set when using the RX ODD BDT.
FASTMODE_EN
Enable Fast Mode operation. This bit is reset by hardware after the transfer is complete.

Bit
Name
Type
Reset

7

70000034h
Bit
Name
Type
Reset

7

USB_FM_PKT_CN
T_L

USB FM transfer counter register (low byte)

Co
nf
id
en
tia
l

70000030h

6

5

4
3
PKT_CNT[7:0]
RO
0

2

USB FM transfer counter register (high byte)
6

5

4
3
PKT_CNT[15:8]
RO
0

1

0

USB_FM_PKT_CN
T_H

2

1

0

FAST MODE ONLY
PKT_CNT
These 2 registers combined specify the number of 64-byte packets transferred.

70000038h
7

MT
K

Bit
Name
Type
Reset

USB_FM_TIMEOU
T

USB FM timeout setting register (high byte)
6

5

4
3
NAK_TIMEOUT[7:0]
R/W
1

2

1

0

FAST MODE ONLY
NAK_TIMEOUT
HOST mode only. Transfer timeout setting = 64ms * NAK_TIMEOUT

249/616

MediaTek Inc. Confidential

7000003Ch
Bit

USB_FM_STAT
US

USB FM status register

7

6

5

4

Name
Type
Reset

3
2
1
0
EPT2_TX_O EPT2_RX_O EPT1_TX_O EPT1_RX_O
DD
DD
DD
DD
R
R
R
R
0
0
0
0

USB_
FM_ADD_STAT

USB FM additional status register

7

6

5

4

ENDPT[3:0]
RO
0

Re
lea
se

Bit
Name
Type
Reset

fo
r

FAST MODE ONLY
EP2_TX_ODD Endpoint 2 TX ODD.
EP2_RX_ODD Endpoint 2 RX ODD.
EP1_TX_ODD Endpoint 1 TX ODD.
EP1_RX_ODD Endpoint 1 RX ODD.

70000050h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3
TX
RO
0

2
ODD
RO
0

1

0

FAST MODE ONLY
The additional status register stores the status of non-fast mode packet during fast mode operation, to allow the
intermixing of fast mode and non-fast mode packets.

Co
nf
id
en
tia
l

When entering fast mode, any existing status in USB_STAT register that has not yet been cleared is automatically
transferred to this register. The format of this status register is the same as the USB_STAT register, and a 4-byte
FIFO is also used in this case. When the FM_TOK_DONE bit in USB_FM_ERR_STAT is cleared, the
FM_ADD_STAT register is updated with the contents of the next value in the FIFO. FM_TOK_DONE is asserted
until the FIFO is empty.
ENDPT[3:0]
These four bits represents the endpoint address that received or transmitted the previous token, so that
the microprocessor can determine which BDT entry was updated by the last USB transaction.
TX
This bit indicates whether the last BDT updated was for a transmit data transfer (TX=1) or for a receive data
transfer (TX=0).
ODD
This bit indicates that the last buffer descriptor updated was in the odd bank of the BDT. See the earlier
section for more information on BDT address generation.

70000068h
Bit
Name
Type
Reset

7
TX_RES
R/W
0

USB_FM_ENDP
T

USB FM endpoint register
6
DMA_DONE
R/W
1

5
OWN
R/W
0

4
TX
R/W
0

3

2

1

0

ENDPT[3:0]
R/W
0

MT
K

FAST MODE ONLY
TX_RES DEVICE mode only. Tx residue. This setting is used when the transmit byte count is not a multiple of
64 bytes. By default, fast mode operates on 64B packet boundaries, and the fast mode-done indication is
asserted once the last 64-byte packet is sent: no further USB DMA sequence takes place. If this bit is set,
the fast mode controller issues an additional dma_tx_en request to the USB DMA controller after the last
64B-aligned packet is sent, even with fast mode-done indication still asserted, allowing the USB DMA
engine to fetch the next non-64B-aligned data. Software needs to take this situation into consideration.

250/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

DMA_DONE DEBUG only. Test only.
OWN
DEBUG only. Own bit of fast mode. This bit is used when a token is received during fast mode but the
BDT is not yet valid, or the BDT is valid but fast mode has not yet been enabled. The bit clears itself once
fast mode completes.
TX
DEVICE mode only. The endpoint direction of fast mode. TX=1 indicates a transmit (IN) direction; TX=0
indicates a receive (OUT) direction.

7

6

5

fo
r

Bit

USB_FM_INT_MAS
K

USB FM interrupt mask register
4

3
2
DMA_TX_EN_M DMA_RX_EN_M
ASK
ASK
R/W
R/W
0
0

Name
Type
Reset

FAST MODE ONLY
DMA_TX_MASK
DEBUG only.
DMA_RX_MASK
DEBUG only.

70000070h
7
PHY_RESUME_
Name
INT
Type
RO
Reset
0

6

0

When set, the dma_tx_en interrupt is enabled.
When set, the dma_rx_en interrupt is enabled.

USB extra register

Bit

1

Re
lea
se

7000006Ch

5

4

3

USB_EXTRA

2
1
0
PHY_RESU PHY_SUSPN TOGGLE_TE
ME_INT_EN
D
ST
R/W
R/W
R/W
0
0
0

70000080h
Bit
Name
Type
Reset

7
STALL
R/W
0

Co
nf
id
en
tia
l

PHY_RESUME_INT Interrupt indicating PHY Resume. This bit can only be asserted when PHY_SUSPND =1.
This bit clears itself when PHY_SUSPND=0.
PHY_RESUME_INT_EN When set, the PHY Resume interrupt is enabled.
PHY_SUSPND
When set, the PHY is suspended.
TOGGLE_TEST
DEBUG only. Toggles USB DP/DM output automatically.

USB Interrupt status register
6
ATTACH
R/W
0

5
RESUME
R/W
0

4
SLEEP
R/W
0

3
TOK_DNE
R/W
0

USB_INT_STAT
2
SOF_TOK
R/W
0

1
ERROR
R/W
0

0
USB_RST
R/W
0

MT
K

All status bits that are set are cleared by rewriting a 1.
STALL
The stall interrupt is used in target and host modes. In target mode the stall bit is asserted when a
STALL handshake is sent by the SIE.
In host mode this bit is set if the VUSB has detected a STALL acknowledgement during the handshake
phase of a USB transaction. This interrupt is useful for determining if the last USB transaction was
completed successfully or stalled.
ATTACH This bit is set if the VUSB has detected the attachment of a USB peripheral. This signal is only valid if
HOST_MODE_EN is true. This interrupt signifies that a peripheral is now present and must be
configured. The ATTACH interrupt is asserted if there have been no transitions on the USB for 2.5us
and the current bus state is not SE0.
RESUME This bit is set when a K-state is observed on the DP/DM signals for 2.5usec. The bit can indicate a
remote wake up signal on the USB bus. When not in suspend mode, disable this interrupt.
(Note: this bit is only useful if the PHY has not been powered down into suspend mode. Otherwise, use
USB_EXTRA register status bits to resume monitoring.)

251/616

MediaTek Inc. Confidential

SLEEP

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

70000084h

USB Interrupt Enable register

7
STALL
R/W
0

STALL
ATTACH
RESUME
SLEEP
TOK_DNE
SOF_TOK

6
ATTACH
R/W
0

5
RESUME
R/W
0

4
SLEEP
R/W
0

USB_INT_ENB

3
TOK_DNE
R/W
0

2
SOF_TOK
R/W
0

1
ERROR
R/W
0

0
USB_RST
R/W
0

Setting this bit enables the STALL interrupt.
Setting this bit enables the ATTACH interrupt.
Setting this bit enables the RESUME interrupt.
Setting this bit enables the SLEEP interrupt.
Setting this bit enables the TOK_DNE interrupt.
Setting this bit enables the SOF_TOK interrupt.

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

Re
lea
se

fo
r

This bit is set if the VUSB has detected a constant idle on the USB bus signals for 3 ms. The sleep timer
is reset by activity on the USB bus.
TOK_DNE This bit is set when the current token being processing is complete. The microprocessor must
immediately read the STAT register to determine the End Point and BD used for this token. Clearing this
bit (by writing a one) causes the STAT register to be cleared or the STAT holding register to be loaded into
the STAT register. (Note: When Fast Mode is enabled, DO NOT look at this bit.)
SOF_TOK This bit is set if the VUSB has received a Start Of Frame (SOF) token. In host mode, this bit is set when
the SOF threshold is reached, so that software can prepare for the next SOF.
ERROR
This bit is set when any of the error conditions in the ERR_STAT register has occurred. The
microprocessor must then read the ERR_STAT register to determine the source of the error.
USB_RST This bit is set when the VUSB has decoded a valid USB reset. An asserted USB_RST bit informs the
microprocessor to write 0x00 into the address register and enable endpoint 0. USB_RST is set once a
USB reset has been detected for 2.5 microseconds, and is not asserted again until the USB reset condition
has been removed, and then reasserted.

ERROR
Setting this bit enables the ERROR interrupt.
USB_RST Setting this bit enables the USB_RST interrupt.

70000088h

USB Error Interrupt Status register

Bit
7
Name BTS_ERR
Type
R/W
Reset
0

6

5
DMA_ERR
R/W
0

4
BTO_ERR
R/W
0

3
DFN8
R/W
0

USB_ERR_STAT
2
CRC16
R/W
0

1
CRC5/EOF
R/W
0

0
PID_ERR
R/W
0

The Error Interrupt Status Register contains bits for each of the error sources within the VUSB. Each of these bits are
qualified with their respective error enable bits (See Error Enable Register page ). The error bits are OR'
ed together
and the result is sent to the ERROR bit of the INT_STAT register. Once an interrupt bit has been set, it can only be
cleared by writing a one to the respective interrupt bit. Each bit is set as soon as the error condition is detected.
Thus, the interrupt does not typically correspond with the end of a token being processed.

MT
K

(Note: All status bits that are set are cleared by writing a 1.)
BTS_ERR A bit stuff error has been detected. If set, the corresponding packet is rejected due to a bit stuff error.
DMA_ERR This bit is set if the VUSB has requested a DMA access to read a new BDT but the bus is not available
before VUSB needs to receive or transmit data. If processing a TX transfer, a transmit data underflow
condition occurs. If processing an RX transfer, a receive data overflow condition occurs. This
interrupt is useful when developing device arbitration hardware for the microprocessor and VUSB to
minimize bus request and bus grant latency. This bit is also set if a data packet to or from the host is

252/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

7000008Ch

BTS_ERR
DMA_ERR
BTO_ERR
DFN8
CRC16
CRC5/EOF
PID_ERR

6

5
DMA_ERR
R/W
0

4
BTO_ERR
R/W
0

3
DFN8
R/W
0

USB_ERR_ENB

2
CRC16
R/W
0

1
CRC5/EOF
R/W
0

0
PID_ERR
R/W
0

Setting this bit enables the BTS_ERR interrupt.
Setting this bit enables the DMA_ERR interrupt.
Setting this bit enables the BTO_ERR interrupt.
Setting this bit enables the DFN8_ERR interrupt.
Setting this bit enables the CRC16 interrupt.
Setting this bit enables the CRC5/EOF_ERR interrupt.
Setting this bit enables the PID_ERR interrupt.

70000090h
Bit
Name
Type
Reset

USB Error Interrupt Enable register

7
BTS_ERR
R/W
0

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

Re
lea
se

fo
r

larger than the allocated buffer size in the BDT. In this case the data packet is truncated as it is placed
into the buffer memory.
BTO_ERR This bit is set if a bus turnaround timeout error has occurred. This VUSB uses a bus turnaround timer to
keep track of the amount of time elapsed between the token and data phases of a SETUP or OUT TOKEN,
or between the data and handshake phases of a IN TOKEN. If more than 16 bit times are counted from
the previous EOP before a transition from IDLE, a bus turnaround timeout error occurs.
DFN8
The data field received is not a multiple of 8 bits. The USB Specification 1.0 specifies that the data field
must be an integral number of bytes. If the data field is not an integral number of bytes, this bit is set.
CRC16
The CRC16 failed. If set, the data packet was rejected due to a CRC16 error.
(Note: When in HOST MODE, ignore this bit. Look at the BDT TOK_PID entries instead to
determine error conditions.)
CRC5/EOF This error interrupt has two functions. When the VUSB is operating in peripheral mode
(HOST_MODE_EN=0) this interrupt detects a CRC5 error in token packets generated by the host. If set,
the token packet was rejected due to a CRC5 error. When the VUSB is operating in host mode
(HOST_MODE_EN=1), this interrupt detects End of Frame (EOF) error conditions. This condition
occurs when the VUSB is transmitting or receiving data and the SOF counter has reached zero. This
interrupt is useful when developing USB packet scheduling software to ensure that no USB transactions
cross into the start of the next frame.
PID_ERR
The PID check field failed.

USB Status register
6

5

4

3
TX
RO
0

ENDPT[3:0]
RO
0

USB_ STAT
2
ODD
RO
0

1

0

MT
K

The Status Register reports the transaction status within the VUSB. When the microprocessor has received a
TOK_DNE interrupt, the Status Register should be read to determine the status of the previous endpoint
communication. The data in the status register is valid when the TOK_DNE interrupt bit is asserted. The STAT
register acts as a read window into a status FIFO maintained by the VUSB. When the VUSB uses a BD, the status
register is updated. If another USB transaction is performed before the TOK_DNE interrupt is serviced the VUSB
stores the status of the next transaction in the STAT FIFO. Thus, the STAT register is actually a 4-byte FIFO that
allows the microprocessor to process one transaction while the SIE is processing the next. Clearing the TOK_DNE bit
in the INT_STAT register causes the SIE to update the STAT register with the contents of the next STAT value. If
the data in the STAT holding register is valid, the SIE immediately reasserts the TOK_DNE interrupt.

253/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

ENDPT[3:0]
These four bits encode the endpoint address that received or transmitted the previous token, allowing
the microprocessor to determine which BDT entry was updated by the last USB transaction.
TX
This bit indicates whether the last BDT updated was a transmit transfer (TX=1), or a receive data transfer
(TX=0).
ODD
This bit indicates that the last buffer descriptor updated was in the odd bank of the BDT. See earlier section
for more information on BDT address generation.

USB Control register

Bit

7

6

Name

JSTATE

SE0

Type
Reset

R/W
0

R/W
0

5
TXDSUSPEN
D/
TOKENBUSY
R/W
0

USB_CTL

4

3

2

RESET

HOST_MOD
E EN

RESUME

R/W
0

R/W
0

R/W
0

1

0

ODD_RST

USB_EN /
SOF_EN

R/W
0

R/W
0

fo
r

70000094h

Re
lea
se

JSTATE Live USB differential receiver JSTATE signal. The polarity of this signal is affected by the current state of
LS_EN (See the Address Register description below).
SE0
Live USB Single Ended Zero signal.
TXDSUSPEND / TOKENBUSY
This dual use control signal is used to access TXD_SUSPEND when the VUSB is a target, and Token Busy
when the VUSB is in host mode.
The TXD Suspend bit informs the processor that the SIE has disabled packet transmission and reception.
Clearing this bit allows the SIE to continue token processing. This bit is set by the SIE when a Setup Token
is received allowing software to dequeue any pending packet transactions in the BDT before resuming token
processing.

Co
nf
id
en
tia
l

The Token Busy bit informs the host processor that the VUSB is busy executing a USB token and that no
more token commands should be written to the Token Register. Software must check this bit before writing
any tokens to the Token Register to ensure that token command are not lost.

MT
K

RESET Setting this bit enables the VUSB to generate USB reset signaling, allowing the VUSB to reset USB
peripherals. This control signal is only valid in host mode, (i.e. HOST_MDOE_EN=1). Software must set
RESET=1 for the required amount of time and then clear it to 0 to end reset signaling. For more
information on RESET signaling see Section 7.1.4.3 of the USB specification version 1.0.
HOST_MODE_EN Setting this bit enables the VUSB to operate in host mode. In host mode the VUSB performs
USB transactions under the programmed control of the host processor.
RESUME
Setting this bit allows the VUSB to execute resume signaling, allowing the VUSB to perform remote
wake-up. Software must set RESUME=1 for the required amount of time and then clear it to 0. If the
HOST_MODE_EN bit is set, the VUSB appends a Low Speed End of Packet to the Resume signal when the
RESUME bit is cleared. For more information on RESUME signaling see Section 7.1.4.5 of the USB
specification version 1.0.
ODD_RST Setting this bit resets all the BDT ODD ping/pong bits to 0 which then specify the EVEN BDT bank.
USB_EN / SOF_EN Setting this bit enables the VUSB; clearing the bit disables the VUSB. Setting this bit causes
the SIE to reset all of its ODD bits to the BDTs. Thus, setting this bit resets much of the logic in the SIE.
When host mode is enabled clearing this bit causes the SIE to stop sending SOF tokens.

70000098h
Bit
Name
Type
Reset

7
LS_EN
R/W
0

USB Address register
6

5

USB_ADDR
4

3
ADDR[6:0]
R/W
0

254/616

2

1

0

MediaTek Inc. Confidential

LS_EN

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The Low Speed enable bit informs the VUSB that the next token command written to the token register
must be performed at low speed. This indication enables the VUSB to perform necessary preparations
for low speed data transmissions.
ADDR[6:0] This 7-bit value defines the USB address that the VUSB decodes in peripheral mode, or transmits when in
host mode.

700000B0h
Bit
Name
Type
Reset

5

4
BDT_BA [15:8]
R/W
0

USB BDT page 2 register

7

700000B4h
Bit
Name
Type
Reset

6

6

5

6

5

2

1

0

USB_BDT_PAG
E_02

4
BDT_BA [23:16]
R/W
0

USB BDT page 3 register

7

3

fo
r

7

3

2

1

0

USB_BDT_PAG
E_03

4
BDT_BA [31:24]
R/W
0

3

2

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

USB_BDT_PAG
E_01

USB BDT page 1 register

Re
lea
se

7000009Ch

1

0

BDT_BA[31:8] These 3 registers combined forms the BDT_PAGE pointer. Set these bytes as follows:
USB_BDT_PAGE_01 = 0x0
USB_BDT_PAGE_02 = 0x0
USB_BDT_PAGE_03 = 0xBD

700000A0h
Bit
Name
Type
Reset

7

6

5

4

3

2

1

0

FRM[7:0]
RO
0

700000A4h
Bit
Name
Type
Reset

USB_FRM_NU
ML

USB Frame number low byte register

7

USB_FRM_NU
MH

USB Frame number high byte register
6

5

4

3

2

1
FRM[10:8]
RO
0

0

MT
K

FRM[10:0] These 2 registers combined represent the 11-bit frame number. The registers are updated with the
current frame number whenever a SOF TOKEN is received.

700000A8h
Bit

7

USB Token register
6

5

USB_TOKEN
4

3

255/616

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

TOKEN_PID
R/W
0

TOKEN_ENDPT
R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

The Token Register is used when performing USB transactions when in host mode (HOST_MODE_EN=1). When
the host processor wishes to execute a USB transaction to a peripheral, it writes the TOKEN type and endpoint to this
register. Once this register has been updated the VUSB begins the specified USB transaction to the address contained
in the Address Register. The host processor must check that the TOKEN_BUSY bit in the control register is not set
before performing a write to the Token Register: checking ensures that token commands are not overwritten before they
can be executed. The address register and endpoint control register 0 are also used when performing a token
command and therefore must also be updated before the Token Register. The address register is used to select the
correct USB peripheral address to transmit by the token command. The endpoint control register determines the
handshake and retry policies used during the transfer.
TOKEN_PID

700000ACh
7

6

5

4

USB_SOF_THL
D

3

2

1

0

CNT[7:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset

USB SOF threshold register

Re
lea
se

This 4-bit value is the token type that is executed by the VUSB. Valid tokens are:
TOKEN_PID
TOKEN type
Description
0001
OUT
VUSB performs an OUT (TX) Transaction
1001
IN
VUSB performs an IN (RX) Transaction
1101
SETUP
VUSB performs a SETUP (TX) Transaction
TOKEN_ENDPT
This 4-bit value determines the Endpoint address for the token command. The 4-bit value that
is written must be a valid endpoint.

The Start Of Frame (SOF) Threshold Registers are used only in HOST_MODE. When HOST_MODE is enabled, the
14-bit SOF counter counts the interval between SOF frames. The SOF must be transmitted every millisecond so the
SOF counter is loaded with a value of 12000 since it is based on a 12MHz internal counter. When the SOF counter
reaches zero, a SOF token is transmitted. The SOF threshold register is used to program the number of USB byte
times before the SOF to stop initiating token packet transactions. This register must be set to a value that ensures that
other packets are not actively being transmitted when the SOF timer count reaches zero. When the SOF counter
reaches the threshold value, no more tokens are transmitted until after the SOF has been transmitted. The value
programmed into the threshold register must reserve enough time to ensure that the worst case transaction completes.
In general the worst case transaction is an IN token followed by a data packet from the target, followed by the response
from the host. The actual time required is a function of the maximum packet size on the bus. Typical values for the
SOF threshold are:
Time (byte times)

64

74

32

42

16

26

8

18

MT
K

Package size (bytes)

CNT[7:0]

These bits represents the SOF count threshold in BYTE times.

256/616

MediaTek Inc. Confidential

700000C0h~
700000FFh

USB Endpoint Control register

Bit

7
6
HOST_WO_
RETRY_DIS
Name
HUB
Type
R/W
R/W
0
0
Reset

5

4

USB_EP_CTLN
3

EP_CTL_DIS EP_RX_EN
R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

2

1

EP_TX_EN

EP_STALL

R/W
0

R/W
0

0

EP_HSHK
R/W
0

Re
lea
se

fo
r

The Endpoint Control Registers contains the endpoint control bits for each of the 16 endpoints available on USB for a
decoded address. These four bits define all of the control necessary for any one endpoint. The formats for these
registers are shown in the table on the following page. Endpoint 0 (ENDP0) is associated with control pipe 0 which is
required by USB for all functions. Therefore, after a USB_RST interrupt has been received the microprocessor must
set ENDPT0 to contain 0x0D. In host mode ENDPT0 is used to determine the handshake, retry and low-speed
characteristics of the host transfer. For host mode control, bulk and interrupt transfers, the EP_HSHK bit must be set
to 1; for Isochronous transfers the EP_HSHK must be set to 0. Common values for ENDPT0 in host mode are 0x4D
for Control, Bulk and Interrupt transfers, and 0x4C for Isochronous transfers.

700000410h
7

USB DMA enable

MT
K

Bit
Name
Type
Reset

Co
nf
id
en
tia
l

HOST_WO_HUB
HOST mode only. This bit is only present in the control register for endpoint 0 (endpt0_rg).
When this bit is set, the host can communicate with a directly connected low-speed device. When
cleared, the host produces a PRE_PID then switches to low-speed signaling when sending a token to
a low-speed device, as required for communication with a low-speed device via a hub.
RETRY_DIS
HOST mode only. This bit is only present in the control register for endpoint 0 (endpt0_rg).
When this bit is set, the host does not reattempt NAK’ed transactions. When a transaction is
NAK’ed, the BDT PID field is updated with the NAK pid, and the token done interrupt is set. When
this bit is cleared, NAK’ed transactions are retried in hardware. This bit must be set when the host
is attempting to poll an interrupt endpoint.
EP_CTL_DIS, EP_RX_EN, EP_TX_EN
These 3 bits define if an endpoint is enabled and the direction of the endpoint. The endpoint enable/direction
control is defined as follows:
ep_ctl_dis ep_rx_en
ep_tx_en
endpoint en / direction control
X
0
0
Disable Endpoint
X
0
1
Enable Endpoint for TX transfers only
X
1
0
Enable Endpoint for RX transfers only
1
1
1
Enable Endpoint for both RX and TX transfers
0
1
1
Enable Endpoint for RX and TX and control transfers
EP_STALL
When set to 1, this bit indicates that the endpoint is stalled. This bit has priority over all other
control bits in the End Point Enable register, but is only valid if EP_TX_EN=1 or EP_RX_EN=1.
Any access to this endpoint causes the VUSB to return a STALL handshake. Once an endpoint is
stalled, intervention from the Host Controller is required.
EP_HSHK
Setting this bit determines if an endpoint performs handshaking during a transaction to this endpoint.
This bit is generally set to 1 unless the endpoint is an Isochronous endpoint.

6

5

4

3
2
TX2_DMA_EN RX2_DMA_EN
W
W
0
0

USB_DMA_EN
1
0
TX1_DMA_EN RX1_DMA_EN
W
W
0
0

These are 1 shot signal.
TX2_DMA_EN Setting this bit enablesTX2 DMA.

257/616

MediaTek Inc. Confidential

RX2_DMA_EN Setting this bit enables RX2 DMA.
TX1_DMA_EN Setting this bit enables TX1 DMA.
RX1_DMA_EN Setting this bit enables RX1 DMA.

700000414h
Bit
Name
Type
Reset

USB DMA disable

7

6

5

4

USB_DMA_DIS
3
2
1
0
TX2_DMA_DIS RX2_DMA_DIS TX1_DMA_DIS RX1_DMA_DIS
W
W
W
W
0
0
0
0

USB_DMA_ADDR_CNTE
R_CLR

Re
lea
se

Bit
Name
Type
Reset

fo
r

These are 1 shot signal.
TX2_DMA_DIS Setting this bit disables TX2 DMA.
RX2_DMA_DIS Setting this bit disables RX2 DMA.
TX1_DMA_DIS Setting this bit disables TX1 DMA.
RX1_DMA_DIS Setting this bit disables RX1 DMA.

700000414h

USB DMA address counter clear

7

6

5

4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3
2
1
0
TX2_DMA_CLR RX2_DMA_CLR TX1_DMA_CLR RX1_DMA_CLR
W
W
W
W
0
0
0
0

7000041Ch
Bit
Name
Type
Reset

7

Co
nf
id
en
tia
l

These are 1 shot signals.
TX2_DMA_CLR
Setting this bit clears the TX2 DMA address pointer.
RX2_DMA_CLR
Setting this bit clears the RX2 DMA address pointer.
TX1_DMA_CLR
Setting this bit clears the TX1 DMA address pointer.
RX1_DMA_CLR
Setting this bit clears the RX1 DMA address pointer.

USB_DMA_FM_SELEC
T

USB DMA FM select register
6

5

4

3

2

1
0
DMA_FM_SEL
R/W
0

FAST MODE ONLY
DMA_FM_SEL Selects which USB DMA controller the FM controller should use.
00:
Use RX1 DMA
01:
Use TX1 DMA
10:
Use RX2 DMA
11:
Use TX1 DMA

70000420h
Bit
Name

7

USB_SOFT_RE
SET

USB Soft Reset
6

5

4

3

MT
K

Type
Reset

2

1

0
SOFT_RESE
T
W
0

SOFT_RESET Setting this bit to 1 invokes a synchronous soft reset. The asserted bit holds high for 4 clock counts,
therefore, software must not issue any read/write within 4T of this reset.

258/616

MediaTek Inc. Confidential

70000450h
Bit

USB_PHY_CTR
L

USB PHY Control

7

6

5

4

3

2

Name
Type
Reset

1
PUSW2EB_
REG
R
0

DEBUG ONLY

MANUAL
R
0

When Manual =1, IPUSW2EB contains

Memory Stick and SD Memory Card Controller
Introduction

Re
lea
se

6.4.1

0

fo
r

The 2 register bits are used to manually control IPUSW2EB signal to PHY.
the value of IPUSW2EB_REG.

6.4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The controller fully supports the Memory Stick bus protocol as defined in Format Specification version 2.0 of Memory
Stick Standard (Memory Stick PRO) and the SD Memory Card bus protocol as defined in SD Memory Card
Specification Part 1 Physical Layer Specification version 1.0 as well as the MultiMediaCard (MMC) bus protocol as
defined in MMC system specification version 2.2. Since SD Memory Card bus protocol is backward compatible to
MMC bus protocol, the controller is capable of working well as the host on MMC bus under control of proper firmware.
Furthermore, the controller also support SDIO card specification version 1.0 partially. However, the controller can only
be configured as either the host of Memory Stick or the host of SD/MMC Memory Card at one time. Hereafter, the
controller is also abbreviated as MS/SD controller. The following are the main features of the controller.
Interface with MCU by APB bus

Co
nf
id
en
tia
l

16/32-bit access on APB bus

16/32-bit access for control registers
32-bit access for FIFO

Shared pins for Memory Stick and SD/MMC Memory Card

Built-in 32 bytes FIFO buffers for transmit and receive, FIFO is shared for transmit and receive
Built-in CRC circuit

CRC generation can be disabled
DMA supported

Interrupt capabilities

Automatic command execution capability when an interrupt from Memory Stick
Data rate up to 26 Mbps in serial mode, 26x4 Mbps in parallel model, the module is targeted at 26 MHz
operating clock

MT
K

Serial clock rate on MS/SD/MMC bus is programmable
Card detection capabilities
Controllability of power for memory card
Not support SPI mode for MS/SD/MMC Memory Card

259/616

MediaTek Inc. Confidential

Not support multiple SD Memory Cards

6.4.2

Overview

6.4.2.1

Pin Assignment

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

No.

Name
SD_CLK
SD_DAT3
SD_DAT0
SD_DAT1
SD_DAT2
SD_CMD
SD_PWRON
SD_WP

Type
O
I/O/PP
I/O/PP
I/O/PP
I/O/PP
I/O/PP
O

SD_INS

I

I

MMC
CLK
DAT0

CMD

SD
CLK
CD/DAT3
DAT0
DAT1
DAT2
CMD

Re
lea
se

fo
r

Since the controller can only be configured as either the host of Memory Stick or the host of SD/MMC Memory Card at
one time, pins for Memory Stick and SD/MMC Memory Card are shared in order to save pin counts. The following
lists pins required for Memory Stick and SD/MMC Memory Card. Table 42 shows how they are shared. In Table 42,
all I/O pads have embedded both pull up and pull down resistor because they are shared by both the Memory Stick and
SD/MMC Memory Card. Pins 2,4,5,8 are only useful for SD/MMC Memory Card. Pull down resistor for these pins can
be used for power saving. All embedded pull-up and pull-down resistors can be disabled by programming the
corresponding control registers if optimal pull-up or pull-down resistors are required on the system board. The pin
VDDPD is used for power saving. Power for Memory Stick or SD/MMC Memory Card can be shut down by
programming the corresponding control register. The pin WP (Write Protection) is only valid when the controller is
configured for SD/MMC Memory Card. It is used to detect the status of Write Protection Switch on SD/MMC Memory
Card.
MS
SCLK
SDIO

MSPRO
SCLK
DAT3
DAT0
DAT1

BS

BS

INS

INS

Description
Clock
Data Line [Bit 3]
Data Line [Bit 0]
Data Line [Bit 1]
Data Line [Bit 2]
Command Or Bus State
VDD ON/OFF

6.4.2.2

Co
nf
id
en
tia
l

Table 42 Sharing of pins for Memory Stick and SD/MMC Memory Card Controller

Card Detection

For Memory Stick, the host or connector should provide a pull up resistor on the signal INS. Therefore, the signal INS
will be logic high if no Memory Stick is on line. The scenario of card detection for Memory Stick is shown in Figure
12. Before Memory Stick is inserted or powered on, on host side SW1 shall be closed and SW2 shall be opened for
card detection. It is the default setting when the controller is powered on. Upon insertion of Memory Stick, the signal
INS will have a transition from high to low. Hereafter, if Memory Stick is removed then the signal INS will return to
logic high. If card insertion is intended to not be supported, SW1 shall be opened and SW2 closed always.

MT
K

For SD/MMC Memory Card, detection of card insertion/removal by hardware is also supported. Because a pull down
resistor with about 470 KΩ resistance which is impractical to embed in an I/O pad is needed on the signal CD/DAT3,
and it has to be capable of being connected or disconnected dynamically onto the signal CD during initialization period,
an additional I/O pad is needed to switch on/off the pull down resistor on the system board. The scenario of card
detection for SD/MMC Memory Card is shown in Figure 13. Before SD/MMC Memory Card is inserted or powered
on, SW1 and SW2 shall be opened for card detection on the host side. Meanwhile, pull down resistor RCD on system
board shall attach onto the signal CD/DAT3 by the output signal RCDEN. In addition, SW3 on the card is default to be
closed. Upon insertion of SD/MMC Memory Card, the signal CD/DAT3 will have a transition from low to high. If
SD/MMC Memory Card is removed then the signal CD/DAT3 will return to logic low. After the card identification
process, pull down resistor RCD on system board shall disconnect with the signal CD/DAT3 and SW3 on the card shall
be opened for normal operation.
Since the scheme above needs a mechanical switch such as a relay on system board, it is not ideal enough. Thus, a
dedicated pin “INS” is used to perform card insertion and removal for SD/MMC. The pin “INS” will connect to the pin
260/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Co
nf
id
en
tia
l

Figure 12 Card detection for Memory Stick

Re
lea
se

fo
r

“VSS2” of a SD/MMC connector. Then the scheme of card detection is the same as that for MS. It is shown in Figure
12.

MT
K

Figure 13 Card detection for SD/MMC Memory Card

261/616

MediaTek Inc. Confidential

6.4.3

Revision 1.0

Register Definitions
REGISTER ADDRESS REGISTER NAME

SYNONYM

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MSDC + 0000h

MS/SD Memory Card Controller Configuration Register MSDC_CFG

MSDC + 0004h

MS/SD Memory Card Controller Status Register

MSDC_STA

MSDC + 0008h

MS/SD Memory Card Controller Interrupt Register

MSDC_INT

MSDC + 000Ch

MS/SD Memory Card Controller Data Register

MSDC_DAT

MS/SD Memory Card Pin Status Register

MSDC_PS

MS/SD Memory Card Controller IO Control Register

MSDC_IOCON

MSDC + 0020h

SD Memory Card Controller Configuration Register

SDC_CFG

MSDC + 0024h

SD Memory Card Controller Command Register

SDC_CMD

fo
r

MSDC + 00010h
MSDC + 00014h

SD Memory Card Controller Argument Register

SDC_ARG

SD Memory Card Controller Status Register

SDC_STA

MSDC + 0030h

SD Memory Card Controller Response Register 0

SDC_RESP0

MSDC + 0034h

SD Memory Card Controller Response Register 1

SDC_RESP1

Re
lea
se

MSDC + 0028h
MSDC + 002Ch

MSDC + 0038h

SD Memory Card Controller Response Register 2

SDC_RESP2

MSDC + 003Ch

SD Memory Card Controller Response Register 3

SDC_RESP3

MSDC + 0040h

SD Memory Card Controller Command Status Register

SDC_CMDSTA

MSDC + 0044h

SD Memory Card Controller Data Status Register

SDC_DATSTA

SD Memory Card Status Register

SDC_CSTA

SD Memory Card IRQ Mask Register 0

SDC_IRQMASK0

MSDC + 0050h

SD Memory Card IRQ Mask Register 1

SDC_IRQMASK1

MSDC + 0054h

SDIO Configuration Register

SDIO_CFG

Co
nf
id
en
tia
l

MSDC + 0048h
MSDC + 004Ch

MSDC + 0058h

SDIO Status Register

SDIO_STA

MSDC + 0060h

Memory Stick Controller Configuration Register

MSC_CFG

MSDC + 0064h

Memory Stick Controller Command Register

MSC_CMD

MSDC + 0068h

Memory Stick Controller Auto Command Register

MSC_ACMD

MSDC + 006Ch

Memory Stick Controller Status Register

MSC_STA

Table 43 MS/SD Controller Register Map

6.4.3.1

Global Register Definitions

MSDC+0000h
Bit

31

30

MS/SD Memory Card Controller Configuration
Register
29

28

27

26

25

24

Name

FIFOTHD

PRCFG2

PRCFG1

Type
Reset
Bit

R/W
0001
14
13

R/W
01

R/W
01

MT
K

15

12

11

Name

SCLKF

Type
Reset

R/W
00000000

10

9

8

23

21
VDDP
PRCFG0
D
R/W
R/W
10
0
7
6
5
SCLK
STDB
CRED
ON
Y
R/W R/W R/W
0
0
1

262/616

22

MSDC_CFG

20
19
18
17
RCDE DIRQ PINE DMAE
N
EN
N
N
R/W R/W R/W R/W
0
0
0
0
4
3
2
1
CLKS
NOCR
RST
RED
RC
C
R/W
W
R/W R/W
0
0
0
0

16
INTE
N
R/W
0
0
MSD
C
R/W
0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register is for general configuration of the MS/SD controller. Note that MSDC_CFG[31:16] can be accessed by
16-bit APB bus access.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

MSDC The register bit is used to configure the controller as the host of Memory Stick or as the host of SD/MMC
Memory card. The default value is to configure the controller as the host of Memory Stick.
0 Configure the controller as the host of Memory Stick
1 Configure the controller as the host of SD/MMC Memory card
RED Rise Edge Data. The register bit is used to determine that serial data input is latched at the falling edge or the
rising edge of serial clock. The default setting is at the rising edge. If serial data has worse timing, set the
register bit to ‘1’. When memory card has worse timing on return read data, set the register bit to ‘1’.
0 Serial data input is latched at the rising edge of serial clock.
1 Serial data input is latched at the falling edge of serial clock.
NOCRC
CRC Disable. A ‘1’ indicates that data transfer without CRC is desired. For write data block, data will be
transmitted without CRC. For read data block, CRC will not be checked. It is for testing purpose.
0 Data transfer with CRC is desired.
1 Data transfer without CRC is desired.
RST
Software Reset. Writing a ‘1’ to the register bit will cause internal synchronous reset of MS/SD controller, but
does not reset register settings.
0 Otherwise
1 Reset MS/SD controller
CLKSRC The register bit specifies which clock is used as source clock of memory card. If MUC clock is used, the
fastest clock rate for memory card is 52/2=26MHz. If USB clock is used, the fastest clock rate for memory
card is 48/2=24MHz.
0 Use MCU clock as source clock of memory card.
1 Use USB clock as source clock of memory card.
STDBY Standby Mode. If the module is powered down, operating clock to the module will be stopped. At the same
time, clock to card detection circuitry will also be stopped. If detection of memory card insertion and removal
is desired, write ‘1’ to the register bit. If interrupt for detection of memory card insertion and removal is
enabled, interrupt will take place whenever memory is inserted or removed.
0 Standby mode is disabled.
1 Standby mode is enabled.
CRED Card Rise Edge Data. The register bit is used to determine that serial data from memory card is output at the
falling edge or the rising edge of serial clock. The default setting is at the falling edge.
0 Serial data is output at the falling edge of serial clock.
1 Serial data is output at the rising edge of serial clock.
SCLKON Serial Clock Always On. It is for debugging purpose.
0 Not to have serial clock always on.
1 To have serial clock always on.
SCLKF The register field controls clock frequency of serial clock on MS/SD bus. Denote clock frequency of MS/SD
bus serial clock as fslave and clock frequency of the MS/SD controller as fhost which is 104 or 52 MHz. Then the
value of the register field is as follows. Note that the allowable maximum frequency of fslave is 26MHz.
00000000b fslave =(1/2) * fhost
00000001b fslave = (1/(4*1)) * fhost
00000010b fslave = (1/(4*2)) * fhost
00000011b fslave = (1/(4*3))* fhost
…
00010000b fslave = (1/(4*16))* fhost
…

263/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

11111111b fslave = (1/(4*255)) * fhost
INTEN Interrupt Enable. Note that if interrupt capability is disabled then application software must poll the status of
the register MSDC_STA to check for any interrupt request.
0 Interrupt induced by various conditions is disabled, no matter the controller is configured as the host of
either SD/MMC Memory Card or Memory Stick.
1 Interrupt induced by various conditions is enabled, no matter the controller is configured as the host of
either SD/MMC Memory Card or Memory Stick.
DMAEN
DMA Enable. Note that if DMA capability is disabled then application software must poll the status of the
register MSDC_STA for checking any data transfer request. If DMA is desired, the register bit must be set
before command register is written.
0 DMA request induced by various conditions is disabled, no matter the controller is configured as the host
of either SD/MMC Memory Card or Memory Stick.
1 DMA request induced by various conditions is enabled, no matter the controller is configured as the host
of either SD/MMC Memory Card or Memory Stick.
PINEN Pin Interrupt Enable. The register bit is used to control if the pin for card detection is used as an interrupt
source.
0 The pin for card detection is not used as an interrupt source.
1 The pin for card detection is used as an interrupt source.
DIRQEN
Data Request Interrupt Enable. The register bit is used to control if data request is used as an interrupt
source.
0 Data request is not used as an interrupt source.
1 Data request is used as an interrupt source.
RCDEN The register bit controls the output pin RCDEN that is used for card identification process when the controller
is for SD/MMC Memory Card. Its output will control the pull down resistor on the system board to connect or
disconnect with the signal CD/DAT3.
0 The output pin RCDEN will output logic low.
1 The output pin RCDEN will output logic high.
VDDPD The register bit controls the output pin VDDPD that is used for power saving. The output pin VDDPD will
control power for memory card.
0 The output pin VDDPD will output logic low. The power for memory card will be turned off.
1 The output pin VDDPD will output logic high. The power for memory card will be turned on.
PRCFG0 Pull Up/Down Register Configuration for the pin WP. The default value is 10.
00 Pull up resistor and pull down resistor in the I/O pad of the pin WP are all disabled.
01 Pull down resistor in the I/O pad of the pin WP is enabled.
10 Pull up resistor in the I/O pad of the pin WP is enabled.
11 Use keeper of IO pad.
PRCFG1 Pull Up/Down Register Configuration for the pin CMD/BS. The default value is 0b01.
00 Pull up resistor and pull down resistor in the I/O pad of the pin CMD/BS are all disabled.
01 Pull down resistor in the I/O pad of the pin CMD/BS is enabled.
10 Pull up resistor in the I/O pad of the pin CMD/BS is enabled.
11 Use keeper of IO pad.
PRCFG2 Pull Up/Down Register Configuration for the pins DAT0, DAT1, DAT2, DAT3. The default value is 0b01.

264/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

00 Pull up resistor and pull down resistor in the I/O pads o the pins DAT0, DAT1, DAT2, DAT3. are all
disabled.
01 Pull down resistor in the I/O pads of the pins DAT0, DAT1, DAT2, DAT3 and WP. is enabled.
10 Pull up resistor in the I/O pads of the pins DAT0, DAT1, DAT2, DAT3. is enabled.
11 Use keeper of IO pad.
FIFOTHD FIFO Threshold. The register field determines when to issue a DMA request. For write transactions, DMA
requests will be asserted if the number of free entries in FIFO are larger than or equal to the value in the
register field. For read transactions, DMA requests will be asserted if the number of valid entries in FIFO are
larger than or equal to the value in the register field. The register field must be set according to the setting of
data transfer count in DMA burst mode. If single mode for DMA transfer is used, the register field shall be set
to 0b0001.
0000 Invalid.
0001 Threshold value is 1.
0010 Threshold value is 2.
…
1000 Threshold value is 8.
others Invalid

MSDC+0004h MS/SD Memory Card Controller Status Register
Bit

15

Name BUSY
Type
Reset

R
0

14
FIFOC
LR
W
-

13

12

11

10

9

8

7

6

5

4

MSDC_STA

3

2

1

0

FIFOCNT

INT

DRQ

BE

BF

RO
0000

RO
0

RO
0

RO
0

RO
0

The register contains the status of FIFO, interrupts and data requests.
BF

MT
K

Co
nf
id
en
tia
l

The register bit indicates if FIFO in MS/SD controller is full.
0 FIFO in MS/SD controller is not full.
1 FIFO in MS/SD controller is full.
BE
The register bit indicates if FIFO in MS/SD controller is empty.
0 FIFO in MS/SD controller is not empty.
1 FIFO in MS/SD controller is empty.
DRQ The register bit indicates if any data transfer is required. While any data transfer is required, the register bit
still will be active even if the register bit DIRQEN in the register MSDC_CFG is disabled. Data transfer can
be achieved by DMA channel alleviating MCU loading, or by polling the register bit to check if any data
transfer is requested. While the register bit DIRQEN in the register MSDC_CFG is disabled, the second
method is used.
0 No DMA request exists.
1 DMA request exists.
INT
The register bit indicates if any interrupt exists. While any interrupt exists, the register bit still will be active
even if the register bit INTEN in the register MSDC_CFG is disabled. MS/SD controller can interrupt MCU
by issuing interrupt request to Interrupt Controller, or software/application polls the register endlessly to check
if any interrupt request exists in MS/SD controller. While the register bit INTEN in the register MSDC_CFG is
disabled, the second method is used. For read commands, it is possible that timeout error takes place. Software
can read the status register to check if timeout error takes place without OS time tick support or data request is
asserted. Note that the register bit will be cleared when reading the register MSDC_INT.
0 No interrupt request exists.
1 Interrupt request exists.
FIFOCNT
FIFO Count. The register field shows how many valid entries are in FIFO.
265/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

0000 There is 0 valid entry in FIFO.
0001 There is 1 valid entry in FIFO.
0010 There are 2 valid entries in FIFO.
…
1000 There are 8 valid entries in FIFO.
others Invalid
FIFOCLR Clear FIFO. Writing ‘1’ to the register bit will cause the content of FIFO clear and reset the status of FIFO
controller.
0 No effect on FIFO.
1 Clear the content of FIFO clear and reset the status of FIFO controller.
BUSY Status of the controller. If the controller is in busy state, the register bit will be ‘1’. Otherwise ‘0’.
0 The controller is in busy state.
1 The controller is in idle state.

Bit

15

14

13

Name
Type
Reset

12

11

10

9

8

Re
lea
se

MSDC+0008h MS/SD Memory Card Controller Interrupt Register

MSDC_INT

7
6
5
4
3
2
1
0
SDIOI SDR1 MSIFI SDMC SDDA SDCM PINIR
DIRQ
RQ BIRQ RQ
IRQ TIRQ DIRQ
Q
RC
RC
RC
RC
RC
RC
RC
RC
0
0
0
0
0
0
0
0

The register contains the status of interrupts. Note that the register still show status of interrupt even though interrupt is
disabled, that is, the register bit INTEN of the register MSDC_CFG is set to ‘0. It implies that software interrupt can be
implemented by polling the register bit INT of the register MSDC_STA and this register. However, if hardware
interrupt is desired, remember to clear the register before setting the register bit INTEN of the register
MSDC_CFG to ‘1’. Or undesired hardware interrupt arisen from previous interrupt status may take place.
DIRQ

MT
K

Co
nf
id
en
tia
l

Data Request Interrupt. The register bit indicates if any interrupt for data request exists. Whenever data request
exists and data request as an interrupt source is enabled, i.e., the register bit DIRQEN in the register
MSDC_CFG is set to ‘1’, the register bit will be active. It will be reset when reading it. For software, data
requests can be recognized by polling the register bit DRQ or by data request interrupt. Data request interrupts
will be generated every FIFOTHD data transfers.
0 No Data Request Interrupt.
1 Data Request Interrupt occurs.
PINIRQ Pin Change Interrupt. The register bit indicates if any interrupt for memory card insertion/removal exists.
Whenever memory card is inserted or removed and card detection interrupt is enabled, i.e., the register bit
PINEN in the register MSDC_CFG is set to ‘1’, the register bit will be set to ‘1’. It will be reset when the
register is read.
0 Otherwise.
1 Card is inserted or removed.
SDCMDIRQ
SD Bus CMD Interrupt. The register bit indicates if any interrupt for SD CMD line exists. Whenever
interrupt for SD CMD line exists, i.e., any bit in the register SDC_CMDSTA is active, the register bit will be
set to ‘1’ if interrupt is enabled. It will be reset when the register is read.
0 No SD CMD line interrupt.
1 SD CMD line interrupt exists.
SDDATIRQ SD Bus DAT Interrupt. The register bit indicates if any interrupt for SD DAT line exists. Whenever
interrupt for SD DAT line exists, i.e., any bit in the register SDC_ DATSTA is active, the register bit will be set
to ‘1’ if interrupt is enabled. It will be reset when the register is read.
0 No SD DAT line interrupt.
1 SD DAT line interrupt exists.
266/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

SDMCIRQ SD Memory Card Interrupt. The register bit indicates if any interrupt for SD Memory Card exists.
Whenever interrupt for SD Memory Card exists, i.e., any bit in the register SDC_CSTA is active, the register
bit will be set to ‘1’ if interrupt is enabled. It will be reset when the register is read.
0 No SD Memory Card interrupt.
1 SD Memory Card interrupt exists.
MSIFIRQ MS Bus Interface Interrupt. The register bit indicates if any interrupt for MS Bus Interface exists.
Whenever interrupt for MS Bus Interface exists, i.e., any bit in the register MSC_STA is active, the register bit
will be set to ‘1’ if interrupt is enabled. It will be reset when the register MSDC_STA or MSC_STA is read.
0 No MS Bus Interface interrupt.
1 MS Bus Interface interrupt exists.
SDR1BIRQ SD/MMC R1b Response Interrupt. The register bit will be active when a SD/MMC command with R1b
response finishes and the DAT0 line has transition from busy to idle state. Single block write commands
with R1b response will cause the interrupt when the command completes no matter successfully or
with CRC error. However, multi-block write commands with R1b response do not cause the interrupt
because multi-block write commands are always stopped by STOP_TRANS commands.
STOP_TRANS commands (with R1b response) behind multi-block write commands will cause the
interrupt. Single block read command with R1b response will cause the interrupt when the command
completes but multi-block read commands do not. Note that STOP_TRANS commands (with R1b
response) behind multi-block read commands will cause the interrupt.
0 No interrupt for SD/MMC R1b response.
1 Interrupt for SD/MMC R1b response exists.

MSDC+000Ch MS/SD Memory Card Controller Data Register
31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
DATA[31:16]
R/W
8
7
DATA[15:0]
R/W

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

MSDC_DAT

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register is used to read/write data from/to FIFO inside MS/SD controller. Data access is in unit of 32 bits.

MSDC+0010h MS/SD Memory Card Pin Status Register
Bit
Name
Type
Reset
Bit

31

15

30

14

29

28

27

26

25

13

12

11

10

9

Name

CDDEBOUNCE

Type
Reset

RW
0000

24
CMD
RO
8

MSDC_PS

23

22

21

7

6

5

20
19
18
17
16
DAT
RO
4
3
2
1
0
PINC
POEN
PIN0
PIEN0 CDEN
HG
0
RC
RO R/W R/W R/W
0
1
0
0
0

MT
K

The register is used for card detection. When the memory card controller is powered on, and the system is powered on,
the power for the memory card is still off unless power has been supplied by the PMIC. Meanwhile, pad for card
detection defaults to pull down when the system is powered on. The scheme of card detection for MS is the same as
that for SD/MMC.
For detecting card insertion, first pull up INS pin, and then enable card detection and input pin at the same time. After
32 cycles of controller clock, status of pin changes will emerge. For detecting card removal, just keep enabling card
detection and input pin.
CDEN Card Detection Enable. The register bit is used to enable or disable card detection.
267/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

0 Card detection is disabled.
1 Card detection is enabled.
PIEN0 The register bit is used to control input pin for card detection.
0 Input pin for card detection is disabled.
1 Input pin for card detection is enabled.
POEN0 The register bit is used to control output of input pin for card detection.
0 Output of input pin for card detection is disabled.
1 Output of input pin for card detection is enabled.
PIN0 The register shows the value of input pin for card detection.
0 The value of input pin for card detection is logic low.
1 The value of input pin for card detection is logic high.
PINCHG
Pin Change. The register bit indicates the status of card insertion/removal. If memory card is inserted or
removed, the register bit will be set to ‘1’ no matter pin change interrupt is enabled or not. It will be cleared
when the register is read.
0 Otherwise.
1 Card is inserted or removed.
CDDEBOUNCE The register field specifies the time interval for card detection de-bounce. Its default
value is 0. It means that de-bounce interval is 32 cycle time of 32KHz. The interval will extend one cycle
time of 32KHz by increasing the counter by 1.
DAT
Memory Card Data Lines.
CMD Memory Card Command Lines.

MSDC+0014h MS/SD Memory Card Controller IO Control Register
Bit

15

14

13

12

11

10

9

8

PRCFG3

Type
Reset

R/W
10

Co
nf
id
en
tia
l

Name

7
6
SRCF SRCF
G1
G0
R/W R/W
1
1

5

4

3

MSDC_IOCON
2

1

ODCCFG1

ODCCFG0

R/W
000

R/W
011

0

The register specifies Output Driving Capability and Slew Rate of IO pads for MSDC. The reset value is suggestion
setting. If output driving capability of the pins DAT0, DAT1, DAT2 and DAT3 is too large, it’s possible to arise ground
bounce and thus result in glitch on SCLK.

MT
K

ODCCFG0 Output driving capability the pins CMD/BS and SCLK
000
2mA
001
4mA
010
6mA
011
8mA
ODCCFG1 Output driving capability the pins DAT0, DAT1, DAT2 and DAT3
000
2mA
001
4mA
010
6mA
011
8mA
SRCFG0 Output driving capability the pins CMD/BS and SCLK
0 Fast Slew Rate
1 Slow Slew Rate
SRCFG1 Output driving capability the pins DAT0, DAT1, DAT2 and DAT3
0 Fast Slew Rate
1 Slow Slew Rate
PRCFG3 Pull Up/Down Register Configuration for the pin INS. The default value is 10.
268/616

MediaTek Inc. Confidential

00
01
10
11

6.4.3.2

Pull up resistor and pull down resistor in the I/O pad of the pin INS are all disabled.
Pull down resistor in the I/O pad of the pin INS is enabled.
Pull up resistor in the I/O pad of the pin INS is enabled.
Use keeper of IO pad.

SD Memory Card Controller Register Definitions

MSDC+0020h SD Memory Card Controller Configuration Register
31

30

29

28

27

26

25

24

23

22

21

Name

DTOC

WDOD

Type
Reset
Bit
Name
Type
Reset

R/W
00000000
12
11

R/W
0000

14
13
BSYDLY
R/W
1000

10

9

8

7

6
5
BLKLEN
R/W
00000000000

4

19

18
17
16
MDL MDLE
SIEN
SDIO
W8
N
R/W R/W R/W R/W
0
0
0
0
3
2
1
0

Re
lea
se

15

20

SDC_CFG

fo
r

Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register is used for configuring the MS/SD Memory Card Controller when it is configured as the host of SD
Memory Card. If the controller is configured as the host of Memory Stick, the contents of the register have no impact
on the operation of the controller. Note that SDC_CFG[31:16] can be accessed by 16-bit APB bus access.

MT
K

Co
nf
id
en
tia
l

BLKLEN It refers to Block Length. The register field is used to define the length of one block in unit of byte in a data
transaction. The maximal value of block length is 2048 bytes.
000000000000
Reserved.
000000000001
Block length is 1 byte.
000000000010
Block length is 2 bytes.
…
011111111111
Block length is 2047 bytes.
100000000000
Block length is 2048 bytes.
BSYDLY The register field is only valid for the commands with R1b response. If the command has a response of
R1b type, MS/SD controller must monitor the data line 0 for card busy status from the bit time that is two
serial clock cycles after the command end bit to check if operations in SD/MMC Memory Card have finished.
The register field is used to expand the time between the command end bit and end of detection period to
detect card busy status. If time is up and there is no card busy status on data line 0, then the controller will
abandon the detection.
0000 No extend.
0001 Extend one more serial clock cycle.
0010 Extend two more serial clock cycles.
…
1111
Extend fifteen more serial clock cycle.
SIEN Serial Interface Enable. It should be enabled as soon as possible before any command.
0 Serial interface for SD/MMC is disabled.
1 Serial interface for SD/MMC is enabled.
MDLW8 Eight Data Line Enable. The register works when MDLEN is enabled. The register can be enabled only
when MultiMediaCard 4.0 is applied and detected by software application.
0 4-bit Data line is enabled.
1 8-bit Data line is enabled.
SDIO SDIO Enable.
0 SDIO mode is disabled

269/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Co
nf
id
en
tia
l

Re
lea
se

fo
r

1 SDIO mode is enabled
MDLEN Multiple Data Line Enable. The register can be enabled only when SD Memory Card is applied and detected
by software application. It is the responsibility of the application to program the bit correctly when an
MultiMediaCard is applied. If an MultiMediaCard is applied and 4-bit data line is enabled, then 4 bits will be
output every serial clock. Therefore, data integrity will fail.
0 4-bit Data line is disabled.
1 4-bit Data line is enabled.
WDOD Write Data Output Delay. The period from finish of the response for the initial host write command or the last
write data block in a multiple block write operation to the start bit of the next write data block requires at least
two serial clock cycles. The register field is used to extend the period (Write Data Output Delay) in unit of one
serial clock.
0000 No extend.
0001 Extend one more serial clock cycle.
0010 Extend two more serial clock cycles.
…
1111
Extend fifteen more serial clock cycle.
DTOC Data Timeout Counter. The period from finish of the initial host read command or the last read data block in a
multiple block read operation to the start bit of the next read data block requires at least two serial clock cycles.
The counter is used to extend the period (Read Data Access Time) in unit of 65,536 serial clock. See the
register field description of the register bit RDINT for reference.
00000000
Extend 65,536 more serial clock cycle.
00000001
Extend 65,536x2 more serial clock cycle.
00000010
Extend 65,536x3 more serial clock cycle.
…
11111111
Extend 65,536x 256 more serial clock cycle.

MSDC+0024h SD Memory Card Controller Command Register
Bit

31

30

15

14

Name
Type
Reset
Bit

29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8

7

6
BREA
K
R/W
0

5

4

3

2

1

Name INTC STOP RW
Type R/W
Reset
0

R/W
0

SDC_CMD

R/W
0

DTYPE

IDRT

RSPTYP

R/W
00

R/W
0

R/W
000

16
CMDF
AIL
R/W
0
0

CMD
R/W
000000

The register defines a SD Memory Card command and its attribute. Before MS/SD controller issues a transaction onto
SD bus, application shall specify other relative setting such as argument for command. After application writes the
register, MS/SD controller will issue the corresponding transaction onto SD serial bus. If the command is
GO_IDLE_STATE, the controller will have serial clock on SD/MMC bus run 128 cycles before issuing the command.

MT
K

CMD SD Memory Card command. It is totally 6 bits.
BREAK Abort a pending MMC GO_IRQ_MODE command. It is only valid for a pending GO_IRQ_MODE command
waiting for MMC interrupt response.
0 Other fields are valid.
1 Break a pending MMC GO_IRQ_MODE command in the controller. Other fields are invalid.
RSPTYP The register field defines response type for the command. For commands with R1 and R1b response, the
register SDC_CSTA (not SDC_STA) will update after response token is received. This register SDC_CSTA
contains the status of the SD/MMC and it will be used as response interrupt sources. Note that if CMD7 is

270/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

used with all 0’s RCA then RSPTYP must be “000”. And the command “GO_TO_IDLE” also have
RSPTYP=’000’.
000 There is no response for the command. For instance, broadcast command without response and
GO_INACTIVE_STATE command.
001 The command has R1 response. R1 response token is 48-bit.
010 The command has R2 response. R2 response token is 136-bit.
011 The command has R3 response. Even though R3 is 48-bit response, but it does not contain CRC
checksum.
100 The command has R4 response. R4 response token is 48-bit. (Only for MMC)
101 The command has R5 response. R5 response token is 48-bit. (Only for MMC)
110 The command has R6 response. R6 response token is 48-bit.
111 The command has R1b response. If the command has a response of R1b type, MS/SD controller must
monitor the data line 0 for card busy status from the bit time that is two or four serial clock cycles after
the command end bit to check if operations in SD/MMC Memory Card have finished. There are two
cases for detection of card busy status. The first case is that the host stops the data transmission during
an active write data transfer. The card will assert busy signal after the stop transmission command end
bit followed by four serial clock cycles. The second case is that the card is in idle state or under a
scenario of receiving a stop transmission command between data blocks when multiple block write
command is in progress. The register bit is valid only when the command has a response token.
Note that the response type R4 and R5 mentioned above is for MMC only.
For SDIO, RSPTYP definition is different and shall be set to :
001 (i) CMD5 of SDIO is to be issued. (Where the response is defined as R4 in SDIO spec)
(ii) CMD52 or CMD53 for READ is to be issued. (Where the response is defined as R5 in SDIO
spec)
111 CMD52 for I/O abort or CMD53 for WRITE is to be issued (Where the response is defined as R5
in SDIO spec)
IDRT Identification Response Time. The register bit indicates if the command has a response with NID (that is, 5
serial clock cycles as defined in SD Memory Card Specification Part 1 Physical Layer Specification version
1.0) response time. The register bit is valid only when the command has a response token. Thus the register bit
must be set to ‘1’ for CMD2 (ALL_SEND_CID) and ACMD41 (SD_APP_OP_CMD).
0 Otherwise.
1 The command has a response with NID response time.
DTYPE The register field defines data token type for the command.
00 No data token for the command
01 Single block transaction
10 Multiple block transaction. That is, the command is a multiple block read or write command.
11 Stream operation. It only shall be used when an MultiMediaCard is applied.
RW
The register bit defines the command is a read command or write command. The register bit is valid only
when the command will cause a transaction with data token.
0 The command is a read command.
1 The command is a write command.
STOP The register bit indicates if the command is a stop transmission command. It should be set to 1 when
CMD12 (SD/MMC) or CMD52 with I/O abort (SDIO) is to be issued.
0 The command is not a stop transmission command.
1 The command is a stop transmission command.
INTC The register bit indicates if the command is GO_IRQ_STATE. If the command is GO_IRQ_STATE, the period
between command token and response token will not be limited.

271/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0 The command is not GO_IRQ_STATE.
1 The command is GO_IRQ_STATE.
CMDFAIL The register bit is used for controlling SDIO interrupt period when CRC error or Command/Data timeout
condition occurs. It is useful only when SDIO 4-bit mode is activated.
0 SDIO Interrupt period will re-start after a stop command (CMD12) or I/O abort command (CMD52) is
issued.
1 SDIO Interrupt period will re-start whenever DAT line is not busy.

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ARG [31:16]
R/W
8
7
ARG [15:0]
R/W

22

21

20

6

5

4

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Bit
Name
Type

SDC_ARG

fo
r

MSDC+0028h SD Memory Card Controller Argument Register

The register contains the argument of the SD/MMC Memory Card command.

MSDC+002Ch SD Memory Card Controller Status Register
Bit

15

14

13

12

11

10

9

Name WP
Type
Reset

R
-

8

7

6

5

SDC_STA

4
3
2
1
0
R1BS
DATB CMDB SDCB
RSV
Y
USY USY USY
RO
RO
RO
RO
RO
0
0
0
0
0

The register contains various status of MS/SD controller as the controller is configured as the host of SD Memory Card.

MT
K

Co
nf
id
en
tia
l

SDCBUSY The register field indicates if MS/SD controller is busy, that is, any transmission is going on CMD or DAT
line on SD bus.
0 MS/SD controller is idle.
1 MS/SD controller is busy.
CMDBUSY The register field indicates if any transmission is going on CMD line on SD bus.
0 No transmission is going on CMD line on SD bus.
1 There exists transmission going on CMD line on SD bus.
DATBUSY The register field indicates if any transmission is going on DAT line on SD bus. For those commands
without data but still involving DAT line, the register bit is useless. For example, if an Erase command is
issued, then checking if the register bit is ‘0’ before issuing next command with data would not
guarantee that the controller is idle. In this situation, use the register bit SDCBUSY.
0 No transmission is going on DAT line on SD bus.
1 There exists transmission going on DAT line on SD bus.
R1BSY
The register field shows the status of DAT line 0 for commands with R1b response.
0 SD/MMC Memory card is not busy.
1 SD/MMC Memory card is busy.
WP
It is used to detect the status of Write Protection Switch on SD Memory Card. The register bit shows the status
of Write Protection Switch on SD Memory Card. There is no default reset value. The pin WP (Write Protection)
is also only useful while the controller is configured for SD Memory Card.
1 Write Protection Switch ON. It means that memory card is desired to be write-protected.
0 Write Protection Switch OFF. It means that memory card is writable.

MSDC+0030h SD Memory Card Controller Response Register 0
Bit
Name

31

30

29

28

27

26

25

24
23
RESP [31:16]
272/616

22

21

20

SDC_RESP0
19

18

17

16

MediaTek Inc. Confidential

Type
Bit
Name
Type

15

14

13

12

11

10

9

RO
8
7
RESP [15:0]
RO

6

5

4

3

Revision 1.0

2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

The register contains parts of the last SD/MMC Memory Card bus response. See description for the register field
SDC_RESP3.

MSDC+0034h SD Memory Card Controller Response Register 1
31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
RESP [63:48]
RO
8
7
RESP [47:32]
RO

22

21

20

6

5

4

19

18

17

16

3

2

1

0

fo
r

Bit
Name
Type
Bit
Name
Type

SDC_RESP1

Re
lea
se

The register contains parts of the last SD/MMC Memory Card bus response. See description for the register field
SDC_RESP3.

MSDC+0038h SD Memory Card Controller Response Register 2
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
RESP [95:80]
RO
8
7
RESP [79:64]
RO

SDC_RESP2

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

The register contains parts of the last SD/MMC Memory Card bus response. See description for the register field
SDC_RESP3.

MSDC+003Ch SD Memory Card Controller Response Register 3
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

13

12

11

10

25

24
23
22
RESP [127:112]
RO
9
8
7
6
RESP [111:96]
RO

SDC_RESP3

21

20

19

18

17

16

5

4

3

2

1

0

The register contains parts of the last SD/MMC Memory Card bus response. The register fields SDC_RESP0,
SDC_RESP1, SDC_RESP2 and SDC_RESP3 compose the last SD/MMC Memory card bus response. For response of
type R2, that is, response of the command ALL_SEND_CID, SEND_CSD and SEND_CID, only bit 127 to 0 of
response token is stored in the register field SDC_RESP0, SDC_RESP1, SDC_RESP2 and SDC_RESP3. For response
of other types, only bit 39 to 8 of response token is stored in the register field SDC_RESP0.

MSDC+0040h
Bit

15

14

SD Memory Card Controller Command Status
Register
13

12

11

10

9

8

7

MT
K

Name
Type
Reset

273/616

6

5

SDC_CMDSTA
4

3

2
1
0
RSPC
MMCI
CMDT CMD
RCER
RQ
O
RDY
R
RC
RC
RC
RC
0
0
0
0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register contains the status of MS/SD controller during command execution and that of MS/SD bus protocol after
command execution when MS/SD controller is configured as the host of SD/MMC Memory Card. The register will
also be used as interrupt sources. The register will be cleared when reading the register. Meanwhile, if interrupt is
enabled and thus interrupt caused by the register is generated, reading the register will deassert the interrupt.

Re
lea
se

fo
r

CMDRDY For command without response, the register bit will be ‘1’ once the command completes on SD/MMC bus.
For command with response, the register bit will be ‘1’ whenever the command is issued onto SD/MMC bus
and its corresponding response is received without CRC error.
0 Otherwise.
1 Command with/without response finish successfully without CRC error.
CMDTO
Timeout on CMD detected. A ‘1’ indicates that MS/SD controller detected a timeout condition while
waiting for a response on the CMD line.
0 Otherwise.
1 MS/SD controller detected a timeout condition while waiting for a response on the CMD line.
RSPCRCERR CRC error on CMD detected. A ‘1’ indicates that MS/SD controller detected a CRC error after
reading a response from the CMD line.
0 Otherwise.
1 MS/SD controller detected a CRC error after reading a response from the CMD line.
MMCIRQ MMC requests an interrupt. A ‘1’ indicates that a MMC supporting command class 9 issued an interrupt
request.
0 Otherwise.
1 A ‘1’ indicates that a MMC supporting command class 9 issued an interrupt request.

MSDC+0044h SD Memory Card Controller Data Status Register
Name
Type
Reset

15

14

13

12

11

10

9

8

7

Co
nf
id
en
tia
l

Bit

6

5

4

3

SDC_DATSTA
2
1
0
DATC
DATT BLKD
RCER
O
ONE
R
RC
RC
RC
0
0
0

The register contains the status of MS/SD controller during data transfer on DAT line(s) when MS/SD controller is
configured as the host of SD/MMC Memory Card. The register also will be used as interrupt sources. The register will
be cleared when reading the register. Meanwhile, if interrupt is enabled and thus interrupt caused by the register is
generated, reading the register will deassert the interrupt.

MT
K

BLKDONE The register bit indicates the status of data block transfer.
0 Otherwise.
1 A data block was successfully transferred.
DATTO Timeout on DAT detected. A ‘1’ indicates that MS/SD controller detected a timeout condition while waiting
for data token on the DAT line.
0 Otherwise.
1 MS/SD controller detected a timeout condition while waiting for data token on the DAT line.
DATCRCERR CRC error on DAT detected. A ‘1’ indicates that MS/SD controller detected a CRC error after reading
a block of data from the DAT line or SD/MMC signaled a CRC error after writing a block of data to the DAT
line.
0 Otherwise.
1 MS/SD controller detected a CRC error after reading a block of data from the DAT line or SD/MMC
signaled a CRC error after writing a block of data to the DAT line.

274/616

MediaTek Inc. Confidential

Revision 1.0

MSDC+0048h SD Memory Card Status Register
31

30

29

28

27

26

15

14

13

12

11

10

25

24
23
22
CSTA [31:16]
RC
0000000000000000
9
8
7
6
CSTA [15:0]
RC
0000000000000000

SDC_CSTA
21

20

19

18

5

4

3

2

17

16

1

0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

After commands with R1 and R1b response this register contains the status of the SD/MMC card and it will be used as
response interrupt sources. In all register fields, logic high indicates error and logic low indicates no error. The register
will be cleared when reading the register. Meanwhile, if interrupt is enabled and thus interrupt caused by the register is
generated, reading the register will deassert the interrupt.

Co
nf
id
en
tia
l

Re
lea
se

CSTA31
OUT_OF_RANGE. The command’s argument was out of the allowed range for this card.
CSTA30
ADDRESS_ERROR. A misaligned address that did not match the block length was used in the
command.
CSTA29
BLOCK_LEN_ERROR. The transferred block length is not allowed for this card, or the number of
transferred bytes does not match the block length.
CSTA28
ERASE_SEQ_ERROR. An error in the sequence of erase commands occurred.
CSTA27
ERASE_PARAM. An invalid selection of write-blocks for erase occurred.
CSTA26
WP_VIOLATION. Attempt to program a write-protected block.
CSTA25
Reserved. Return zero.
CSTA24
LOCK_UNLOCK_FAILED. Set when a sequence or password error has been detected in lock/unlock
card command or if there was an attempt to access a locked card.
CSTA23
COM_CRC_ERROR. The CRC check of the previous command failed.
CSTA22
ILLEGAL_COMMAND. Command not legal for the card state.
CSTA21
CARD_ECC_FAILED. Card internal ECC was applied but failed to correct the data.
CSTA20
CC_ERROR. Internal card controller error.
CSTA19
ERROR. A general or an unknown error occurred during the operation.
CSTA18
UNDERRUN. The card could not sustain data transfer in stream read mode.
CSTA17
OVERRUN. The card could not sustain data programming in stream write mode.
CSTA16
CID/CSD_OVERWRITE. It can be either one of the following errors: 1. The CID register has been
already written and cannot be overwritten 2. The read only section of the CSD does not match the card. 3. An
attempt to reverse the copy (set as original) or permanent WP (unprotected) bits was made.
CSTA[15:4] Reserved. Return zero.
CSTA3 AKE_SEQ_ERROR. Error in the sequence of authentication process
CSTA[2:0] Reserved. Return zero.

SDC_IRQMASK
0

MSDC+004Ch SD Memory Card IRQ Mask Register 0
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28

27

26

12

11

10

25

24
23
22
IRQMASK [31:16]
R/W
0000000000000000
9
8
7
6
IRQMASK [15:0]
R/W
0000000000000000

275/616

21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register contains parts of SD Memory Card Interrupt Mask Register. See the register description of the register
SDC_IRQMASK1 for reference. The register will mask interrupt sources from the register SDC_CMDSTA and
SDC_DATSTA. IRQMASK[15:0] is for SDC_CMDSTA and IRQMASK[31:16] for SDC_DATSTA. A ‘1’ in some bit
of the register will mask the corresponding interrupt source with the same bit position. For example, if IRQMASK[0] is
‘1’ then interrupt source from the register field CMDRDY of the register SDC_ CMDSTA will be masked. A ‘0’ in
some bit will not cause interrupt mask on the corresponding interrupt source from the register SDC_CMDSTA and
SDC_DATSTA.

31

30

29

28

27

26

15

14

13

12

11

10

25

24
23
22
IRQMASK [63:48]
R/W
0000000000000000
9
8
7
6
IRQMASK [47:32]
R/W
0000000000000000

21

20

5

4

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

fo
r

SDC_IRQMASK
1

MSDC+0050h SD Memory Card IRQ Mask Register 1

The register contains parts of SD Memory Card Interrupt Mask Register. The registers SDC_IRQMASK1 and
SDC_IRQMASK0 compose the SD Memory Card Interrupt Mask Register. The register will mask interrupt sources
from the register SDC_CSTA. A ‘1’ in some bit of the register will mask the corresponding interrupt source with the
same bit position. For example, if IRQMASK[63] is ‘1’ then interrupt source from the register field OUT_OF_RANGE
of the register SDC_ CSTA will be masked. A ‘0’ in some bit will not cause interrupt mask on the corresponding
interrupt source from the register SDC_ CSTA.

MSDC+0054h SDIO Configuration Register
31

30

15

14

Name
Type
Reset

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit

SDIO_CFG
18

17

16

2
1
0
DSBS INTSE INTE
EL
L
N
R/W R/W R/W
0
0
0

The register is used to configure functionality for SDIO.

MT
K

INTEN Interrupt enable for SDIO.
0 Disable
1 Enable
INTSEL Interrupt Signal Selection
0 Use data line 1 as interrupt signal
1 Use data line 5 as interrupt signal
DSBSEL Data Block Start Bit Selection.
0 Use data line 0 as start bit of data block and other data lines are ignored.
1 Start bit of a data block is received only when data line 0-3 all become low.

MSDC+0058h SDIO Status Register
Bit
Name
Type

31

30

29

28

27

26

SDIO_STA
25

24

23

276/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Reset
Bit
Name
Type
Reset

15

6.4.3.3

14

13

12

11

10

9

8

7

6

5

4

3

Revision 1.0

2

Memory Stick Controller Register Definitions

Bit

15
14
PMOD
PRED
Name
E
Type R/W R/W
Reset
0
0

13

12

11

10

9

8

7

6

5

4

1

0
IRQ
RO
0

MSC_CFG

fo
r

MSDC+0060h Memory Stick Controller Configuration Register

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

2

1

0

BUSYCNT

SIEN

R/W
101

R/W
0

Re
lea
se

The register is used for Memory Stick Controller Configuration when MS/SD controller is configured as the host of
Memory Stick.
SIEN

Co
nf
id
en
tia
l

Serial Interface Enable. It should be enabled as soon as possible before any command.
0 Serial interface for Memory Stick is disabled.
1 Serial interface for Memory Stick is enabled.
BUSYCNT RDY timeout setting in unit of serial clock cycle. The register field is set to the maximum BUSY timeout
time (set value x 4 +2) to wait until the RDY signal is output from the card. RDY timeout error detection is not
performed when BUSYCNT is set to 0. The initial value is 0x5. That is, BUSY signal exceeding 5x4+2=22
serial clock cycles causes a RDY timeout error.
000 Not detect RDY timeout
001 BUSY signal exceeding 1x4+2=6 serial clock cycles causes a RDY timeout error.
010 BUSY signal exceeding 2x4+2=10 serial clock cycles causes a RDY timeout error.
…
111 BUSY signal exceeding 7x4+2=30 serial clock cycles causes a RDY timeout error.
PRED Parallel Mode Rising Edge Data. The register field is only valid in parallel mode, that is, MSPRO mode. In
parallel mode, data must be driven and latched at the falling edge of serial clock on MS bus. In order to
mitigate hold time issue, the register can be set to ‘1’ such that write data is driven by MSDC at the rising edge
of serial clock on MS bus.
0 Write data is driven by MSDC at the falling edge of serial clock on MS bus.
1 Write data is driven by MSDC at the rising edge of serial clock on MS bus.
PMODE
Memory Stick PRO Mode.
0 Use Memory Stick serial mode.
1 Use Memory Stick parallel mode.

MSDC+0064h Memory Stick Controller Command Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

PID
R/W
0000

6

5
4
DATASIZE
R/W
0000000000

MSC_CMD
3

2

1

0

MT
K

The register is used for issuing a transaction onto MS bus. Transaction on MS bus is started by writing to the register
MSC_CMD. The direction of data transfer, that is, read or write transaction, is extracted from the register field PID.
16-bit CRC will be transferred for a write transaction even if the register field DATASIZE is programmed as zero under
the condition where the register field NOCRC in the register MSDC_CFG is ‘0’. If the register field NOCRC in the
register MSDC_CFG is ‘1’ and the register field DATASIZE is programmed as zero, then writing to the register

277/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MSC_CMD will not induce transaction on MS bus. The same applies for when the register field RDY in the register
MSC_STA is ‘0’.

fo
r

DATASIZE Data size in unit of byte for the current transaction.
0000000000 Data size is 0 byte.
0000000001 Data size is one byte.
0000000010 Data size is two bytes.
…
0111111111 Data size is 511 bytes.
1000000000 Data size is 512 bytes.
PID
Protocol ID. It is used to derive Transfer Protocol Code (TPC). The TPC can be derived by cascading PID and
its reverse version. For example, if PID is 0x1, then TPC is 0x1e, that is, 0b0001 cascades 0b1110. In addition,
the direction of the bus transaction can be determined from the register bit 15, that is, PID[3].

Bit
Name
Type
Reset

15

14
13
APID
R/W
0111

12

11

10

9

8

Re
lea
se

MSDC+0068h Memory Stick Controller Auto Command Register
7

6
5
ADATASIZE
R/W
0000000001

4

3

MSC_ACMD
2

1

0
ACEN
R/W
0

The register is used for issuing a transaction onto MS bus automatically after the MS command defined in MSC_CMD
completed on MS bus. Auto Command is a function used to automatically execute a command like GET_INT or
READ_REG for checking status after SET_CMD ends. If auto command is enabled, the command set in the register
will be executed once the INT signal on MS bus is detected. After auto command is issued onto MS bus, the register bit
ACEN will become disabled automatically. Note that if auto command is enabled then the register bit RDY in the
register MSC_STA caused by the command defined in MSC_CMD will be suppressed until auto command completes.
Note that the register field ADATASIZE cannot be set to zero, or the result will be unpredictable.

Co
nf
id
en
tia
l

ACEN Auto Command Enable.
0 Auto Command is disabled.
1 Auto Command is enabled.
ADATASIZE
Data size in unit of byte for Auto Command. Initial value is 0x01.
0000000000 Data size is 0 byte.
0000000001 Data size is one byte.
0000000010 Data size is two bytes.
…
0111111111 Data size is 511 bytes.
1000000000 Data size is 512 bytes.
APID Auto Command Protocol ID. It is used to derive Transfer Protocol Code (TPC). Initial value is
GSET_INT(0x7).

MSDC+006Ch Memory Stick Controller Status Register
Bit

15
14
13
CMDN
BREQ ERR
K
Type
R
R
R
Reset
0
0
0

MT
K

Name

12

11

10

9

8

7

CED
R
0

6

MSC_STA
5

4
3
2
1
HSRD CRCE
TOER SIF
Y
R
RO
RO
RO
RO
0
0
0
0

0
RDY
RO
1

The register contains various status of Memory Stick Controller, that is, MS/SD controller is configured as Memory
Stick Controller. These statuses can be used as interrupt sources. Reading the register will NOT clear it. The register
will be cleared whenever a new command is written to the register MSC_CMD.

278/616

MediaTek Inc. Confidential

RDY

The register bit indicates the status of transaction on MS bus. The register bit will be cleared when writing to
the command register MSC_CMD.
0 Otherwise.
1 A transaction on MS bus is ended.
The register bit indicates the status of serial interface. If an interrupt is active on MS bus, the register bit will
be active. Note the difference between the signal RDY and SIF. When parallel mode is enabled, the signal SIF
will be active whenever any of the signal CED, ERR, BREQ and CMDNK is active. In order to separate
interrupts caused by the signals RDY and SIF, the register bit SIF will not become active until the
register MSDC_INT is read once. That is, the sequence for detecting the register bit SIF by polling is as
follows:
1. Detect the register bit RDY of the register MSC_STA
2. Read the register MSDC_INT
3. Detect the register bit SIF of the register MSC_STA
BS0

BS1

BS2

BS3

BS0

Re
lea
se

fo
r

SIF

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

command execution

!
"#

" $ "# %

command finished

& "# %

MT
K

Co
nf
id
en
tia
l

0 Otherwise.
1 An interrupt is active on MS bus
TOER The register bit indicates if a BUSY signal timeout error takes place. When timeout error occurs, the signal BS
will become logic low ‘0’. The register bit will be cleared when writing to the command register MSC_CMD.
0 No timeout error.
1 A BUSY signal timeout error takes place. The register bit RDY will also be active.
CRCER The register bit indicates if a CRC error occurs while receiving read data. The register bit will be cleared when
writing to the command register MSC_CMD.
0 Otherwise.
1 A CRC error occurs while receiving read data. The register bit RDY will also be active.
HSRDY The register bit indicates the status of handshaking on MS bus. The register bit will be cleared when writing to
the command register MSC_CMD.
0 Otherwise.
1 A Memory Stick card responds to a TPC by RDY.
CED The register bit is only valid when parallel mode is enabled. In fact, it’s value is from DAT[0] when serial
interface interrupt takes place. See Format Specification version 2.0 of Memory Stick Standard (Memory Stick
PRO) for more details.
0 Command does not terminate.
1 Command terminates normally or abnormally.
ERR The register bit is only valid when parallel mode is enabled. In fact, it’s value is from DAT[1] when serial
interface interrupt takes place. See Format Specification version 2.0 of Memory Stick Standard (Memory Stick
PRO) for more details.
0 Otherwise.
1 Indicate memory access error during memory access command.

279/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

BREQ The register bit is only valid when parallel mode is enabled. In fact, it’s value is from DAT[2] when serial
interface interrupt takes place. See Format Specification version 2.0 of Memory Stick Standard (Memory Stick
PRO) for more details.
0 Otherwise.
1 Indicate request for data.
CMDNK
The register bit is only valid when parallel mode is enabled. In fact, it’s value is from DAT[3] when serial
interface interrupt takes place. See Format Specification version 2.0 of Memory Stick Standard (Memory Stick
PRO) for more details.
0 Otherwise
1 Indicate non-recognized command.

Application Notes

6.4.4.1

Initialization Procedures After Power On

Re
lea
se

6.4.4

Disable power down control for MSDC module

Remember to power on MSDC module before starting any operation to it.

6.4.4.2

Card Detection Procedures

The pseudo code is as follows:
MSDC_CFG.PRCFG0 = 2’b10
MSDC_PS = 2’b11
MSDC_CFG.VDDPD = 1
if(MSDC_PS.PINCHG) { // card is inserted
. . .
}

Co
nf
id
en
tia
l

The pseudo code segment perform the following tasks:
1.

First pull up CD/DAT3 (INS) pin.

2.

Enable card detection and input pin at the same time.

3.

Turn on power for memory card.

4.

Detect insertion of memory card.

6.4.4.3

Notes on Commands

For MS, check if MSC_STA.RDY is ‘1’ before issuing any command.

For SD/MMC, if the command desired to be issued involves data line, for example, commands with data transfer or
R1b response, check if SDC_STA.SDCBUSY is ‘0’ before issuing. If the command desired to be issued does not
involve data line, only check if SDC_STA.CMDBUSY is ‘0’ before issuing.

6.4.4.4

Notes on Data Transfer

For SD/MMC, if multiple-block-write command is issued then only issue STOP_TRANS command
inter-blocks instead of intra-blocks.

MT
K

Once SW decides to issue STOP_TRANS commands, no more data transfer from or to the controller.

280/616

MediaTek Inc. Confidential

6.4.4.5

Notes on Frequency Change

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Before changing the frequency of serial clock on MS/SD/MMC bus, it is necessary to disable serial interface of the
controller. That is, set the register bit SIEN of the register SDC_CFG to ‘0’ for SD/MMC controller, and set the register
bit SIEN of the register MSC_CFG to ‘0’ for Memory Stick controller. Serial interface of the controller needs to be
enabled again before starting any operation to the memory card.

6.4.4.6

Notes on Response Timeout

1.

Read command => response time out

2.

Issue STOP_TRANS command => Get Response

3.

Read register SDC_DATSTA to clear it

6.4.4.7

Re
lea
se

fo
r

If a read command doest not receive response, that is, it terminates with a timeout, then register SDC_DATSTA needs
to be cleared by reading it. The register bit “DATTO” should be active. However, it may take a while before the register
bit becomes active. The alternative is to send the STOP_TRANS command. However, this method will receive
response with illegal-command information. Also, remember to check if the register bit SDC_STA.CMDBUSY is
active before issuing the STOP_TRANS command. The procedure is as follows:

Source or Destination Address is not word-aligned

It is possible that the source address is not word-aligned when data move from memory to MSDC. Similarly,
destination address may be not word-aligned when data move from MSDC to memory. This can be solved by setting
DMA byte-to-word functionality.
DMAn_CON.SIZE=0

2.

DMAn_CON.BTW=1

3.

DMAn_CON.BURST=2 (or 4)

4.

DMAn_COUNT=byte number instead of word number

5.

fifo threshold setting must be 1 (or 2), depending on DMAn_CON.BURST

Note n=4 ~ 11

6.4.4.8

Co
nf
id
en
tia
l

1.

Miscellaneous notes

Siemens MMC card: When a write command is issued and followed by a STOP_TRANS command, Siemens
MMC card will de-assert busy status even though flash programming has not yet finished. Software must use
“Get Status” command to make sure that flash programming finishes.

6.5
6.5.1

Graphic Memory Controller
General Description

MT
K

Graphic memory controller provides channels to allow graphic engines to access SYSRAM and External Memory.
Simple Request-Acknowledgement handshaking scheme is employed here to ease the complexity of memory access
control circuitry in each graphic engine.

281/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

fo
r

To maximize data bandwidth, five individual access ports are implemented, which can access different memory banks
simultaneously. Figure 14 shows the connection between GMC, AHB, and memories. One access port is connected
to the SYSRAM, and the other access port for external memory access is connected to data cache directly.

Figure 14 Graphic memory controller

6.5.2

Register Definitions

GMC + 0000h
GMC + 0004h
GMC + 0008h
GMC + 000Ch
GMC + 0010h

Register Function

Acronym

Co
nf
id
en
tia
l

Register Address

GMC Control Register

GMC_CON

GMC Match Address Register

GMC_MATCHADDR

GMC Mask Address Register

GMC_MASKADDR

GMC INRANGE Master Register

GMC_INRANGE_MAST

GMC Bandwidth Limiter Register

GMC_LIMITER

Table 44 GMC Registers

GMC+0000h
Bit
Name
Type
Reset
Bit

31

14

GMC_CON

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

MT
K

15
TRAP
Name
CLR
Type
W
Reset
0

30

GMC Control Register

18

17

16

2
1
0
BURS TRAP TRAP
INV
EN
T
R/W R/W R/W
1
0
0

This register is used to control the functionality for GMC.
TRAP EN

To enable address-trapping function. When this function is turned on, GMC compares the address
between the address configured in GMC Match Address Register and the address issued to memory.

282/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

When the address is matched, the engine number that issued the request is recorded. The record can be
read from GMC INRANGE Master Register
Table 6 shows the engine number of each engine.
Engine
Number

Engine
Number

Engine Name

10

CAM (high priority)

1
2

MP4/JPEG

11

TVE (high priority)

MP4/JPEG

12

MP4_MV (high priority)

3

MP4/JPEG

13

2D WRITE

4

MP4/JPEG

14

2D COMMAND QUEUE

5

RESIZER

15

2D READ

6

RESIZER

16

GIF

7

RESIZER

17

PNG

8

IMAGE DMA

18

IPP

9

IMAGE DMA

fo
r

MP4/JPEG

Re
lea
se

0

Engine Name

Table 45 Engine number

GMC+0004h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Co
nf
id
en
tia
l

TRAP INV Enable trapping range inversion. If this register bit is set, the engine, which issues the address out of the
address range specified with GMC_MATCHADDR, and GMC_MASKADDR, is trapped. The register
bit in GMC_INRANGE_MAST is set accordingly.
BURST
Enable burst mode. If burst mode is enabled, arbiter does not change the grant until finishing the burst.
On the other hand, GMC treats every request as a SINGLE transfer.
TRAP CLR This register field is used to clear the record in GMC INRANGE Master Register. This register field is a
write only register field.

GMC_MATCHA
DDR

GMC Match Address Register
29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

22

21

20

19

18

17

16

6

5

4

3

2

1

0

This register is used to specify the trapping address for the address-trapping function.
ADDR The trapping address.

GMC+0008h
31

30

15

14

29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Bit
Name
Type

GMC_MASKAD
DR

GMC Mask Address Register

24
23
MASK
R/W
8
7
MASK
R/W

22

21

20

19

18

17

16

6

5

4

3

2

1

0

This register is used to specify the address mask the address-trapping function.
address bits that is set as “1” in the GMC Mask Address Register.

The address comparator ignores the

MASK address mask.

283/616

MediaTek Inc. Confidential

GMC+000Ch
Bit

31

GMC_INRANGE
_MAST

GMC INRANGE Master Register

30

29

28

27

26

25

24

23

22

21

20

19

Name
15
ENG
Name
15
Type RO

14
ENG
14
RO

13
12
ENG ENG
13
12
RO
RO

11
10
9
ENG ENG ENG
11
10
9
RO
RO
RO

8
7
6
ENG ENG ENG
8
7
6
RO
RO
RO

5
4
3
ENG ENG ENG
5
4
3
RO
RO
RO

This register is used to show the trapped engine..
ENGn The trapped address is issued by corresponding engine.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

GMC Bandwidth Limiter Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

GMC_LIMITER

Re
lea
se

GMC+0010h

18
17
16
ENG ENG ENG
18
17
16
RO
RO
RO
2
1
0
ENG ENG ENG
2
1
0
RO
RO
RO

fo
r

Type
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

23

22

21

20

19

18

17

16

7

6

5
4
LIMITER
R/W
0

3

2

1

0

6.6

Co
nf
id
en
tia
l

This register is used for slow-down function of GMC EMI interface.
LIMITER This register field is used to specify the period that GMC EMI interface can issue a bus request to AHB.
LIMITER represents an AHB request can only be issued in LIMITER X 4 clock cycles. The value of
LIMITER is from 0 to 1023.

2D acceleration

6.6.1

2D Engine

6.6.1.1

General Description

To enhance MMI display and gaming experiences, a 2D acceleration engine is implemented. It supports ARGB8888,
RGB888, ARGB4444, RGB565 and 8-bpp color modes. Main features are listed as follows:
Rectangle fill with color gradient.

Bitblt: multi-Bitblt without transform, 7 rotate, mirror (transparent) Bitblt
Alpha blending
Binary ROP

Line drawing: normal line, dotted line, anti-alias line
Font caching: normal font, italic font

MT
K

Circle drawing

Quadratic Bezier curve drawing
Triangle drawing

284/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

MCU can program 2D engine registers via APB. However, MCU has to make sure that the 2D engine is not BUSY
before any write to 2D engine registers occurs. An interrupt scheme is also provided for more flexibility.

DST
memory
read/write
control

Command
parser

Re
lea
se

Command
queue

fo
r

A command parser is implemented for further offloading of MCU. The command queue can be randomly assigned in
the system memory, with a maximum depth of 2047 commands. If the command queue is enabled, MCU has to check
if the command queue has free space before writing to the command queue. Command queue parser will consume
command queue entries upon 2D engine requests. Figure 15 shows the command queue and 2D engine block diagram.
Please refer to the graphic command queue functional specification for more details.

APB

2D
engine

slave

Co
nf
id
en
tia
l

Graphic
Memory
Interface

SRC
memory
read
control

Figure 15 The command queue and 2D engine block diagram.

6.6.1.2
6.6.1.2.1

Features Introduction
2D Coordinate

The coordinates in the 2D engine are represented as 12-bit signed integers. The negative part is clipped during
rendering. The maximum resolution can achieve 2047x2047 pixels. The programmed base address is mapped to the
origin of the picture, which is illustrated in Figure 16.
dst_base_addr

MT
K

(0,0)

x

y

Figure 16 The coordinate of the 2D engine.
285/616

MediaTek Inc. Confidential

6.6.1.2.2

Color format

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Bitblt (Copy, ROP)
Source color format

Destination color format

8bpp

8bpp

RGB888
ARGB4444
ARGB8888

RGB565
RGB888
RGB565
RGB888

Re
lea
se

RGB565

fo
r

The 2D engine support the color format of 8bpp, RGB565, RGB888, ARGB4444, and ARGB 8888. The color
formats of source and destination can be specified separately. Note that when using the 8bpp format, the source and
destination color formats have to be the same, since table-lookup of color palette is not provided in 2D engine.
Graphic modes of Bitblt, Bitblt with alpha blending, and Bitblt with binary ROP require color format setting for both
source and destination. For other graphic modes, only destination color format needs to be specified. The possible
settings are listed as Table 46Table 47.

ARGB4444

ARGB8888

ARGB4444

ARGB8888

Table 46 source and destination color format setting for Bitblt.

Bitblt with Alpha Blending

Destination color format

8bpp

8bpp

Co
nf
id
en
tia
l

Source color format

RGB565

RGB888

ARGB4444
ARGB8888

RGB565

RGB888

RGB565

RGB888

RGB565

RGB888

RGB565

RGB888

Table 47 source and destination color format setting for alpha blending.
When source image is used, the source key function could be enabled or disabled. When enabled, the source color
key is in the same format of source color. Be aware that the source key is still effective for alpha blending mode.
6.6.1.2.3

Clipping Window

MT
K

The setting for clipping window is effective for all the 2D graphics. A pair of minimum and maximum boundary is
applied on destination side. The portion outside the clipping window will not be drawn to the destination, but the
pixels on the boundary will be kept. The clipping operation is illustrated in Figure 17.

286/616

MediaTek Inc. Confidential

dst_base_addr

(0,0)

fo
r

g2d_clp_min

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

g2d_clp_max

6.6.1.2.4

Re
lea
se

Figure 17 The clipping operation of the 2D engine.
Bitblt operation

The Bitblt function copies the pixels from source picture to destination. To be more flexible, 4 copy directions and 7
kinds of rotations are provided when doing Bitblt operation. Figure 18 illustrates the Bitblt operation and required
settings.
src_base_addr

dst_base_addr

(src_x,src_y)

(dst_x,dst_y)

D

src_h

Co
nf
id
en
tia
l

S

src_w

src_x_pitch

dst_x_pitch

Figure 18 The clipping operation of the 2D engine.

MT
K

Note that the size of source and destination blocks can be different. If the source block is larger than destination block,
the size of destination block is used instead of the source size. When source block size is smaller than destination
block size, the pattern of source block is repeated horizontally and vertically in the destination block, which is
illustrated as Figure 19 below.

287/616

MediaTek Inc. Confidential

Destination

fo
r

Source

Copy direction

Re
lea
se

Figure 19 The Bitblt operation when destination size > source size.
6.6.1.2.4.1

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

When the source block and destination blocks are on the same picture, they may be overlapped by each other. To
prevent error from occurring, 4 directions for Bitblt can be programmed. However, the copy direction shall not be
enabled when doing rotation, or it will produce unwanted results. The 4 kinds of copy direction are shown in Figure
20.

D

S

D

Co
nf
id
en
tia
l

S

D

S

S

D

Figure 20 The 4 directions of Bitblt operation.
6.6.1.2.4.2

Rotation

MT
K

To facilitate Bitblt operation, 7 kinds of rotation can be set at the same time. The rotation operation is illustrated as
Figure 21. Here the rotation is done on the destination side, while the read sequence of pixels in source block is
fixed.

288/616

MediaTek Inc. Confidential

S
(src_x,src_y)

3).horizontal flip

4).vertical flip

D

D

D

D

5).90 degree rotation

6).270 degree rotation

D

D

Figure 21 The rotations of Bitblt operation.
6.6.1.2.5

Bitblt with Alpha Blending

7).90 degree rotation
+ vertical flip
D

fo
r

2).180 degree rotation

8).270 degree rotation
+ vertical flip
D

Re
lea
se

1).No rotation

(dst_x,dst_y)

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Similar to simple Bitblt operation, alpha blending function is provided as well. The pixels in source block are blended
onto destination block. Blending is performed according the formula listed below:
C = (alpha * Cs + (255 - alpha) * Cd)/255 ,

where Cs is the source color, Cd is the destination color, and alpha is an unsigned integer range from 0 to 255.

Co
nf
id
en
tia
l

The alpha value programmed into the 2D control registers is called constant alpha. When no alpha channel exists, the
constant alpha is used to calculate blended color. If the alpha channel exists ( in ARGB color mode), the per-pixel
alpha is used for blending operation instead of constant alpha.
In addition, the setting of copy directions and rotations are also effective for alpha blending mode.
color format of source block can be different from destination.
6.6.1.2.6

Also, the size and

Bitblt with Binary ROP

The ROP (Raster Operation) is another block-wise functional mode. Here the 2D engine provides a set of binary
ROPs. The ROP code has 16 different combinations, which is listed in the definition of 2D control registers --G2D_SMODE_CON. Please see sec.1.1.1.3 for detail descriptions.
Similar with other block-wise functions, the copy directions and rotations are also applicable in ROP mode.
and color format of source and destination do not need to be the same.
6.6.1.2.7

The size

Rectangle Fill with Color Gradient

MT
K

Rectangle fill mode provides the configurations for color gradient for both x-direction and y-direction. Each of the
color gradient of component A, R, G, B is represented by 9.16 signed fixed point number. In order to prevent color
crossing the boundary of 0 and 255, it is clipped to 0 and 255 when performing gradient fill. When the color gradient
is disabled, the rectangle is filled by one color. An example of gradient fill is shown in Figure 22.

289/616

MediaTek Inc. Confidential

start_clr

x_gradient

fo
r

y_gradient

Figure 22 Rectangle gradient fill.
6.6.1.2.8

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Line Draw

6.6.1.2.9

Re
lea
se

The line drawing function is implemented with the mid-point algorithm. Given the two endpoints of a line, the points
on the line are calculated recursively. The line anti-aliasing is also supported but it requires extra register
configurations. In addition, dotted line is also provided for use. Simultaneously turning on anti-aliasing and
dotted-line is not recommended since the line may result in a strange look.
Circle Draw

The circle drawing is quite similar with line drawing, using the mid-point algorithm as well. A center point and a
radius have to be programmed into 2D control registers. There are 4 enable bits for each quadrant of a circle, each
determines whether the arcs shall be rendered or not. The setting of circle drawing is illustrated in Figure 23.
3

0

Co
nf
id
en
tia
l

radius

2

(dst_x,dst_y)

1

Figure 23 Circle drawing.
6.6.1.2.10

Bezier curve

The quadratic Bezier curve is implemented, too. The quadratic Bezier curve is defined by three control points, as
illustrated in Figure 24. The Bezier curve drawing is implemented with subdivision method. The amount of
subdivisions is programmed by software. The curve gets more detailed with the increase of subdivision factor, but it
requires more memory and computing time. To be more precise, doing n times of subdivision needs a buffer of

MT
K

2 ( n +1) * 4 bytes.

290/616

MediaTek Inc. Confidential

fo
r

p1

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

p0

Figure 24 Bezier curve.
6.6.1.2.11

Triangle Flat Fill

Re
lea
se

p2

The 2D engine supports the function of triangle flat fill with the help of software. First, the software divides the triangle
into upper plane and lower plane and passes them to hardware individually. Given the starting vertex’s coordinate and
the slopes of left and right edges, the 2D hardware fills the horizontal segments between the two edges until the
horizontal end is reached. The slope of each edge is in 12.16 bit signed fix-point representation. The programming
of triangle drawing is illustrated in Figure 25.

Co
nf
id
en
tia
l

start point

left slope

left slope

right slope

Horizontal end
Horizontal end

right slope

start point

MT
K

Figure 25 Triangle drawing.
6.6.1.2.12

Font Drawing

The 2D engine helps to render fonts stored in one-bit-per-pixel format. It expends the zero bits to background color
and expands one bits to foreground color. The background color can be set as transparent. The font drawing can be
programmed as tilt, when given each line’s tilt value.

291/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The start bit of font drawing can be non-byte aligned to save memory usage for font caching. In addition, the rotations
can be performed at the same time when drawing fonts.

6.6.1.3

Register Definitions

Table 48 The 2D engine register mapping. summarizes the 2D engine register mapping on APB and through command
queue. The base address of 2D engine is 80670000h.
Register Function

Acronym

G2D+0100h

100h

2D engine fire mode control register

FMODE_CON

102h

Reserved

104h

2D Engine sub-mode control lower register

SMODE_CON_L

106h

2D Engine sub-mode control higher register

SMODE_CON_H

108h

2D engine common control register

COM_CON

10Ah

Reserved

110h

2D engine status register

112h

Reserved

200h

Source base address lower hword register

SRC_BASE_L

202h

Source base address higher hword register

SRC_BASE_H

204h

Source pitch register

SRC_PITCH

206h

Reserved

208h

Source y coordinate register

SRC_Y

20Ah

Source x coordinate register

SRC_X

G2D+0108h
G2D+0110h
G2D+0200h
G2D+0204h
G2D+0208h

Re
lea
se

G2D+0104h

fo
r

CMQ
APB Address mapped
Address

STA

20Ch

Source height register

SRC_H

20Eh

Source width register

SRC_W

210h

Source color key lower hword register

SRC_KEY_L

212h

Source color key lower hword register

SRC_KEY_H

300h

Destination base address lower hword register

DST_BASE_L

302h

Destination base address higher hword register

DST_BASE_H

304h

Destination Pitch Register

DST_PITCH

306h

Reserved

G2D+0308h

308h

Destination y coordinate register 0

30Ah

Destination x coordinate register 0

DST_X0

G2D+030Ch

30Ch

Destination y coordinate register 1

DST_Y1

30Eh

Destination x coordinate register 1

DST_X1

G2D+0310h

310h

Destination y coordinate register 2

DST_Y2

312h

Destination x coordinate register 2

DST_X2

G2D+0318h

318h

Destination height register

DST_H

31Ah

Destination width register

DST_W

400h

Foreground color lower hword register

FGCLR_L

402h

Foreground color lower hword register

FGCLR_H

Co
nf
id
en
tia
l

G2D+020Ch
G2D+0210h
G2D+0300h

MT
K

G2D+0304h

G2D+400h

G2D+404h

DST_Y0

404h

Background color lower hword register

BGCLR_L

406h

Background color lower hword register

BGCLR_H

292/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Clipping minimum y coordinate register

CLP_MIN_Y

40Ah

Clipping minimum x coordinate register

CLP_MIN_X

40Ch

Clipping maximum y coordinate register

CLP_MAX_Y

40Eh

Clipping maximum x coordinate register

CLP_MAX_X

G2D+410h

410h

Rectangle color gradient x lower hword register

REC_CLRGD_X_L

412h

Rectangle color gradient x higher hword register

REC_CLRGD_X_H

G2D+414h

414h

Rectangle color gradient y lower hword register

REC_CLRGD_Y_L

416h

Rectangle color gradient y higher hword register

REC_CLRGD_Y_H

G2D+40Ch

fo
r

408h

G2D+408h

TILT_0300 ~
TILT_1F1C

G2D+0700h ~
700h ~ 71Fh
G2D+071Fh
Table 48 The 2D engine register mapping.

APB
Address

CMQ
Addres Rectangle fill
s

Bitblt
Operations

G2D+0200h 200h

SRC_BASE

G2D+0204h 204h

SRC_PITCH

G2D+0208h 208h

SRC_XY

G2D+020Ch 20Ch

SRC_SIZE

G2D+0210h 210h

SRC_KEY

Re
lea
se

There are several function modes in 2D graphics engine. Some registers are shared between different them. Table 49
summarizes the settings under different function modes.
Line/Circle
drawing

Bezier curve
drawing

SLOPE_L

DST_BASE

DST_BASE

DST_BASE

DST_BASE

G2D+0304h 304h

DST_PITCH

DST_PITCH DST_PITCH DST_PITCH

G2D+030Ch 30Ch
G2D+0310h 310h
G2D+0318h 318h
G2D+0400h 400h
G2D+0404h 404h
G2D+0408h 408h
G2D+040Ch 40Ch
G2D+0410h 410h
G2D+0414h 414h
G2D+0418h 418h
G2D+041Ch 41Ch
G2D+0420h 420h
G2D+0424h 424h

Co
nf
id
en
tia
l

G2D+0300h 300h
G2D+0308h 308h

DST_XY

DST_XY

Triangle drawing Font caching
SRC_BASE

SRC_KEY

DST_BASE

DST_BASE

DST_PITCH

DST_PITCH

DST_XY0

DST_XY0

DST_XY_START DST_XY

DST_XY1/
RADIUS

DST_XY1

DST_Y_END

DST_XY2

DST_SIZE

DST_SIZE

START_CLR

FGCLR

DST_KEY

XY_SQRT

CLP_MIN

CLP_MIN

CLP_MIN

CLP_MAX

CLP_MAX

CLP_MAX

FGCLR

DST_SIZE
FGCLR

FGCLR
BGCLR

CLP_MIN

CLP_MIN

CLP_MIN

CLP_MAX

CLP_MAX

CLP_MAX

ALPGD_X

BUF_STA_ADD SLOPE_R

RED_GD_X

SUBDIV_TIME

GREEN_GD_X

BLUE_GD_X

ALPGD_Y

RED_GD_Y

GREEN_GD_Y

G2D+042Ch 42Ch

BLUE_GD_Y

G2D+0700h
700h ~
~
71Fh
G2D+071Fh

TILT_0300 ~
TILT_1F1C

MT
K

G2D+0428h 428h

TILT_0300 ~
TILT_1F1C

TILT_0300 ~
TILT_1F1C

293/616

MediaTek Inc. Confidential

APB
Address

CMQ
Horizontal Line
Addres
Gradient
s

Horizontal
Line Copy
with Mask
SRC_BASE

G2D+0200h 200h
G2D+0204h 204h
G2D+0208h 208h

fo
r

SRC_SIZE

G2D+020Ch 20Ch
G2D+0210h 210h
DST_BASE

DST_BASE

G2D+0318h 318h

DST_SIZE

DST_SIZE

G2D+0400h 400h

START_CLR

G2D+0300h 300h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

G2D+0304h 304h
G2D+0308h 308h

Re
lea
se

G2D+030Ch 30Ch
G2D+0310h 310h

G2D+0404h 404h
G2D+0408h 408h
G2D+040Ch 40Ch
G2D+0410h 410h

ALPGD_X

MASK_BASE

RED_GD_X
GREEN_GD_X

G2D+041Ch 41Ch

BLUE_GD_X

G2D+0420h 420h
G2D+0424h 424h
G2D+0428h 428h
G2D+042Ch 42Ch
G2D+0700h
700h ~
~
71Fh
G2D+071Fh

Co
nf
id
en
tia
l

G2D+0414h 414h
G2D+0418h 418h

Table 49 2D engine common registers

Below shows common control registers.

G2D+0100h
Bit
Name
Type
Reset

15

14

G2D_FMODE_C
ON

Graphic 2D Engine Fire Mode Control Register
13

12

11
10
9
SRC_CLR_MODE
R/W
000

8

7
6
5
DST_CLR_MODE
R/W
000

4

3

2
1
0
G2D_ENG_MODE
R/W
0000

MT
K

Write this register will fire the 2D engine according to the CLR_MODE and ENG_MODE field.
SRC_CLR_MODE source color mode
000 8-bpp, LUT disabled
001 16-bpp, RGB 565 format
010 32-bpp, ARGB 8888 format

294/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

G2D+0104h
Bit

Type
Reset

30

G2D_SMODE_C
ON

Graphic 2D Engine Sub-mode Control Register

29
FMSB
Name FITA FNBG _FIRS
T
Type R/W R/W R/W
Reset
0
0
0
Bit
15
14
13
Name

31

Co
nf
id
en
tia
l

Re
lea
se

fo
r

011 24-bpp, RGB 888 format
101 16-bpp, ARGB 4444 format
others reserved
DST_CLR_MODE destination color mode
000 8-bpp, LUT disabled
001 16-bpp, RGB 565 format
010 32-bpp, ARGB 8888 format
011 24-bpp, RGB 888 format
101 16-bpp, ARGB 4444 format
others reserved
G2D_ENG_MODE 2D engine function mode
0000 Line draw.
0001 Circle draw.
0010 Bezier curve draw.
0011 Triangle fill.
1000 Rectangle fill.
1001 Bitblt.
1010 Bitblt with alpha blending.
1011 Bitblt with ROP.
1100 Font drawing.
1101 Horizontal line fill with color gradient. In this mode, the source key and the clipping functions are
disabled automatically.
1110
Horizontal line copy with mask. In this mode, the source key and the clipping functions are disabled
automatically.
others not allowed

28

12

27

11

26

10

25

9

LDOT
R/W
0

24

23

22

21

20

19

18

17

ALPHA

ROP_CODE

R/W
0000

R/W
0000

8
7
6
DST_
LAA_
CLRG
KEY_
EN
D_EN
EN
R/W R/W R/W
0
0
0

5

4

3

2

1

BDIR

BITA

BROT

R/W
11

R/W
0

R/W
111

16

0

Write this register to set the 2D engine configuration.

MT
K

FITA font italic enabled.
FNBG font drawing with no background color
FMSB_FIRST font drawing from most significant bit
ALPHA Bit 7-4 of constant alpha value. ROP_CODE is Bit3-0 of constant alpha value.
ROP_CODE
Binary ROP code. Bits 2-0 are also used to specify the start bit position for Font drawing and enabled
arcs for circle drawing.
Bitblt ROP Code

Boolean Function

Start Bit Position for Font
Drawing

295/616

Enabled Arcs

MediaTek Inc. Confidential

Ko
nk
a

Revision 1.0

0000

0 (Black)

Bit 0

None

0001

~(S + D)

Bit 1

I

0010

~S . D

Bit 2

0011

~S

Bit 3

0100

S . ~D

Bit 4

0101

~D

Bit 5

,

0110

S^D

Bit 6

,

0111

~(S . D)

Bit 7

1000

S.D

Bit 0

1001

~(S ^ D)

Bit 1

fo
r

MT6228 GSM/GPRS Baseband Processor Data Sheet

1010

D

Bit 2

,

1011

~S + D

Bit 3

1100

S

1101

S + ~D

1110

S+D

1111

1 (White)

,

,

,

Re
lea
se

,

,

,
,

Bit 4

Bit 5

,

,

Bit 6

,

,

,

Bit 7

,

,

S = Source, D = Destination.
= first quadrant, II = second quadrant, III = third quadrant, IV = fourth quadrant.

MT
K

Co
nf
id
en
tia
l

LDOT line dotted
LAA_EN line anti-aliasing enabled
DST_KEY_EN Destination key enabled for Bitblt functions
CLRGR_EN
Color gradient enabled for rectangle fill
BDIR Bitblt direction:
00 from lower right corner
01 from lower left corner
10 from upper right corner
11 from upper left corner
This field only takes effect when the Bitblt rotation is set as none (111). When doing rotation the Bitblt
direction of source image is always from upper left corner.
BITA Bitblt italic enabled, using the tilt value defined in G2D_TILT_00 ~ G2D_TILT_1F registers. The tilt
function should not be enabled in Alpha Blending and ROP mode.
BROT Bitblt rotation:
000 mirror then rotate 90
001 rotate 90
010 rotate 270
011 mirror then rotate 270
100 rotate 180
101 mirror
110 mirror then rotate 180
111 none

G2D+0108h
Bit

31

30

G2D_COM_CO
N

Graphic 2D Engine Common Control Register
29

28

27

26

25

24

23

296/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

Revision 1.0

2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1
0
SRCK
CLP_
EY_E RST
EN
N
R/W R/W R/W
0
0
0

Name
Type
Reset

fo
r

Write this register to set the 2D engine configuration.
RST
2D engine reset, only the state machine is reset, the content of control registers will not be reset.
SRCKEY_EN Source key enabled.
CLP_EN Clipping enabled.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Graphic 2D Engine Interrupt Control Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Write this register to set the 2D engine IRQ configuration.

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0
EN
R/W
0

interrupt enable. The interrupt is negative edge sensitive.

G2D+0110h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

23

31

30

15

14

Graphic 2D Engine Common Status Register

G2D_COM_STA

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0
BUSY
RO
0

Co
nf
id
en
tia
l

EN

G2D_IRQ_CON

Re
lea
se

G2D+010Ch

Read this register to get the 2D engine status. 2D engine may function abnormally if any 2D engine register is modified
when BUSY.
BUSY 2D engine is busy

G2D+0200h
31

30

15

14

29

28

27

26

13

12

11

10

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

G2D_SRC_BAS
E

Graphic 2D Source Base Address Register
25
24
23
22
SRC_BASE[31:16]
R/W
0
9
8
7
6
SRC_BASE[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

SRC_BASE
The base address of source image. Also, this field is used for the slope of the left triangle edges
represented in 12.16 format.

297/616

MediaTek Inc. Confidential

G2D+0204h
14

SRC_PITCH

12

11

10

9

8

7

6
5
SRC_PITCH
R/W
0

4

3

2

The width of source image in the unit of pixels.

G2D+0208h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

Graphic 2D Engine Source X and Y Register

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

22
21
SRC_X
R/W
0
6
5
SRC_Y
R/W
0

1

0

G2D_SRC_XY

20

4

fo
r

15

G2D_SRC_PITC
H

Graphic 2D Engine Source Pitch Register

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

SRC_Y The starting y co-ordinate of source image. It must be positive although represented as 12-bit signed integer.
SRC_X The starting x co-ordinate of source image. It must be positive although represented as 12-bit signed integer.

G2D+020Ch
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Graphic 2D Engine Source Size Register

G2D_SRC_SIZE

22
21
SRC_W
R/W
0
6
5
SRC_H
R/W
0

20

19

18

17

16

4

3

2

1

0

SRC_H The source height for Bitblt, alpha blending and ROP. It must be positive although represented as 12-bit signed
integer.
SRC_W
The source width for Bitblt, alpha blending and ROP. It must be positive although represented as 12-bit
signed integer.

G2D+0210h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Graphic 2D Engine Source Color Key Register
29

28

27

26

13

12

11

10

25

24
23
22
SRC_KEY[31:16]
R/W
0
9
8
7
6
SRC_KEY[15:0]
R/W
0

G2D_SRC_KEY

21

20

19

18

17

16

5

4

3

2

1

0

SRC_KEY The source color key. The color will be transparent if color keying is enabled.

Bit
Name
Type
Reset

31

30

G2D_DST_BAS
E

Graphic 2D Destination Base Address Register

MT
K

G2D+0300h

29

28

27

26

25
24
23
22
DST_BASE[31:16]
R/W
0

298/616

21

20

19

18

17

16

MediaTek Inc. Confidential

Bit
Name
Type
Reset

15

14

13

12

11

10

9

8
7
6
DST_BASE[15:0]
R/W
0

5

4

3

Revision 1.0
2

DST_BASE The base address of destination image.

15

14

DST_PITCH

12

11

10

9

8

7

6
5
SRC_PITCH
R/W
0

4

The width of destination image in the unit of pixels.

G2D+0308h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

3

Graphic 2D Engine Destination X and Y Register 0

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

7

22
21
DST_X0
R/W
0
6
5
DST_Y0
R/W
0

0

G2D_DST_PITC
H

Graphic 2D Engine Destination Pitch Register

2

1

0

G2D_DST_XY0

Re
lea
se

Bit
Name
Type
Reset

1

fo
r

G2D+0304h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20

19

18

17

16

4

3

2

1

0

(DST_X0 , DST_Y0) is used as the starting co-ordinate in Bitblt, alpha blending, ROP, and font drawing mode. In line
mode or triangle fill mode, it is used as one end point. For Bezier curve drawing, it is one of the control points. While
in circle drawing mode, it is the center of the circle. Also this filed is used as the starting point of triangle draw.
Represented by 12-bit signed integer. Negative co-ordinate is allowed.
Represented by 12-bit signed integer. Negative co-ordinate is allowed.

G2D+030Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Co
nf
id
en
tia
l

DST_X0
DST_Y0

Graphic 2D Engine Destination X and Y Register 1
29

28

27

26

25

24

23

13

12

11

10

9

8

7

22
21
DST_X1
R/W
0
6
5
DST_Y1
R/W
0

G2D_DST_XY1

20

19

18

17

16

4

3

2

1

0

(DST_X1 , DST_Y1) is used as one end point in Line drawing and triangle fill mode. For Bezier curve drawing, it is
one of the control points. While in circle drawing mode, DST_X1 must be positive since it is the radius of the circle.
Also, Bit 15-0 is used as the vertical end of triangle draw.
DST_X1
DST_Y1

Represented by 12-bit signed integer. Negative co-ordinate is allowed.
Represented by 12-bit signed integer. Negative co-ordinate is allowed.

Graphic 2D Engine Destination X and Y Register 2

MT
K

G2D+0310h
Bit
Name
Type
Reset
Bit
Name

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

299/616

22
21
DST_X2
R/W
0
6
5
DST_Y2

G2D_DST_XY2

20

19

18

17

16

4

3

2

1

0

MediaTek Inc. Confidential

Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
R/W
0

(DST_X2 , DST_Y2) is used as one end point in triangle fill mode. For Bezier curve drawing, it is one of the control
points.
DST_X2
DST_Y2

Represented by 12-bit signed integer. Negative co-ordinate is allowed.
Represented by 12-bit signed integer. Negative co-ordinate is allowed.

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

22
21
DST_W
R/W
0
6
5
DST_H
R/W
0

G2D_DST_SIZE
20

4

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Graphic 2D Engine Destination Size Register

fo
r

G2D+0318h

SRC_H The source height for Bitblt, alpha blending and ROP. It must be positive although represented as 12-bit signed
integer.
SRC_W
The source width for Bitblt, alpha blending and ROP. It must be positive although represented as 12-bit
signed integer.

G2D+0400h

Graphic 2D Engine Foreground Color Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
FGCLR[31:16]
R/W
0
8
7
6
FGCLR[15:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

G2D_ FGCLR

21

20

19

18

17

16

5

4

3

2

1

0

FGCLR The foreground color used for line/circle drawing and font drawing. It is also the start color of rectangle fill.
The format of foreground color depends on the source color mode set in G2D_FMODE_CON register.

G2D+0404h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Graphic 2D Engine Background Color Register
29

28

27

26

25

13

12

11

10

9

24
23
22
BGCLR[31:16]
R/W
0
8
7
6
BGCLR[15:0]
R/W
0

G2D_BGCLR

21

20

19

18

17

16

5

4

3

2

1

0

BGCLR The background color of the source. The format of background color depends on the source color mode set in
G2D_FMODE_CON register. Bit 15-0 also used as the XY_SQRT for anti-aliased line drawing. The
XY_SQRT calculation is listed as bellow.

MT
K

XY _ SQRT = 2 * ( DST _ X 1 − DST _ X 0) 2 + ( DST _ Y 1 − DST _ Y 0) 2

G2D+0408h
Bit
Name
Type

31

30

Graphic 2D Engine Clipping Minimum Register
29

28

27

26

25

24

23

300/616

22
21
20
CLIP_MIN_X
R/W

G2D_CLIP_MIN
19

18

17

16

MediaTek Inc. Confidential

14

CLIP_MIN_X
CLIP_MIN_Y

12

11

10

9

8

7

0
6
5
4
CLIP_MIN_Y
R/W
0

3

2

The minimum value of x co-ordinate in clipping window, signed 12-bit integer.
The minimum value of y co-ordinate in clipping window, signed 12-bit integer..

G2D+040ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

Graphic 2D Engine Clipping Maximum Register

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

22
21
20
CLIP_MAX_X
R/W
11111111111
6
5
4
CLIP_MAX_Y
R/W
11111111111

1

0

G2D_CLIP_MAX
19

18

17

16

3

2

1

0

fo
r

15

Re
lea
se

Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CLIP_MAX_X The maximum value of x co-ordinate in clipping window, signed 12-bit integer...
CLIP_MAX_Y The maximum value of y co-ordinate in clipping window, signed 12-bit integer..

G2D+0410h

Graphic 2D X Alpha Gradient Register

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9
8
7
6
ALPHA_GR_X[15:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

22

G2D_ALPGR_X

21
20
19
18
ALPHA_GR_X[24:16]
R/W
0
5
4
3
2

17

16

1

0

The color gradient of alpha in x direction for rectangle gradient fill. Bit 31-0 is also used as the start address of the
buffer used for Bezier curve draw. Also, this field is used for the slope of the right triangle edges represented in signed
12.16 format.
ALPHA_GR_X The color gradient of alpha channel, represented in signed 9.16 format.

G2D+0414h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Graphic 2D X Red Gradient Register
29

28

27

26

25

13

12

11

10

9

24

23

G2D_REDGR_X
22

8
7
6
RED_GR_X[15:0]
R/W
0

The color gradient of red in x direction for rectangle gradient fill.
Bezier curve drawing.

21
20
19
RED_GR_X[24:16]
R/W
0
5
4
3

18

17

16

2

1

0

Bit 3-0 also used as the times of subdivision for

MT
K

RED_GR_XThe color gradient of red component, represented in signed 9.16 format.

G2D+0418h
Bit
Name

31

30

Graphic 2D X Green Gradient Register
29

28

27

26

25

24

23

301/616

22

G2D_
GREENGR_X
21
20
19
18
GREEN_GR_X[24:16]

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9
8
7
6
GREEN_GR_X[15:0]
R/W
0

5

R/W
0
4

3

Revision 1.0

2

GREEN_GR_X The color gradient of blue component, represented in signed 9.16 format.

30

29

28

27

26

25

15

14

13

12

11

10

9

23

22

8
7
6
BLUE_GR_X[15:0]
R/W
0

0

G2D_BLUEGR_X
21
20
19
BLUE_GR_X[24:16]
R/W
0
5
4
3

18

17

16

2

1

0

The color gradient of blue component, represented in signed 9.16 format.

BLUE_GR_X

G2D+0420h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

24

1

fo
r

31

Graphic 2D Y Alpha Gradient Register

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9
8
7
6
ALPHA_GR_Y[15:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Graphic 2D X Blue Gradient Register

Re
lea
se

G2D+041Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

22

G2D_ALPGR_Y

21
20
19
18
ALPHA_GR_Y[24:16]
R/W
0
5
4
3
2

17

16

1

0

The color gradient of alpha in x direction for rectangle gradient fill.

ALPHA_GR_Y The color gradient of alpha channel, represented in signed 9.16 format.

G2D+0424h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Graphic 2D Y Red Gradient Register
29

28

27

26

25

13

12

11

10

9

24

23

G2D_REDGR_Y
22

8
7
6
RED_GR_Y[15:0]
R/W
0

21
20
19
RED_GR_Y[24:16]
R/W
0
5
4
3

18

17

16

2

1

0

The color gradient of red in x direction for rectangle gradient fill.

RED_GR_YThe color gradient of red component, represented in signed 9.16 format.

G2D+0428h
31

30

29

28

27

26

25

15

14

13

12

11

10

9
8
7
6
GREEN_GR_Y15:0]

MT
K

Bit
Name
Type
Reset
Bit
Name

Graphic 2D Y Green Gradient Register
24

23

302/616

22

G2D_
GREENGR_Y
21
20
19
18
GREEN_GR_Y24:16]
R/W
0
5
4
3
2

17

16

1

0

MediaTek Inc. Confidential

Type
Reset

Revision 1.0

R/W
0

GREEN_GR_Y The color gradient of blue component, represented in signed 9.16 format.

Graphic 2D Y Blue Gradient Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

BLUE_GR_Y

24

23

22

8
7
6
BLUE_GR_Y[15:0]
R/W
0

G2D_BLUEGR_Y
21
20
19
BLUE_GR_Y[24:16]
R/W
0
5
4
3

18

2

17

16

1

0

The color gradient of blue component, represented in signed 9.16 format.

6.6.2

Command Queue

6.6.2.1

General Description

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

fo
r

G2D+042Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Co
nf
id
en
tia
l

To enhance MMI display and gaming experiences, a command queue parser is implemented for further offloading of
MCU. The command queue with a flexible depth setting is allocated in system memory. If the command queue is
enabled, software program has to check if the command queue has free space before writing to the command queue
data register. Command queue parser consumes the command queue entries upon 2D engine requests. Figure 15
shows the command queue and 2D engine block diagram.

Command
queue

DST
memory
read/write
control

Command
parser

APB

slave

Graphic
Memory
Interface

2D
engine

SRC
memory
read
control

Figure 26 The command queue and 2D engine block diagram.

Register Definitions

MT
K

6.6.2.2

MCU APB bus registers are listed as follows. The base address of the command queue controller is 80660000h.

303/616

MediaTek Inc. Confidential

GCMQ+0000h Graphic Command Queue Control Register

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

GCMQ_CON

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

EN
WEN

Command queue enable. When EN is LOW, the command queue controller is reset.
Command queue in write mode. When WEN is LOW, the command queue consumes the commands in the
queue if command queue is not empty.

30

29

28

27

26

25

24

14

13

12

11

10

9

8

GCMQ_STA

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

FREE

RO
100000000

FREE Number of free command queue entries.
WR_RDY Ready to receive command, command-write is not allowed when this status bit is 0.
check this bit before writing command to gcmq.

31

30

15

14

ADDR [11:0]
DATA [15:0]

Co
nf
id
en
tia
l

GCMQ+0008h Graphic Command Queue Data Register
29

28

27

26

25

24

23

13

12

11

10

9

8
7
DATA
WO

Software has to

GCMQ_DAT

22
21
ADDR
WO
6
5

20

19

18

17

16

4

3

2

1

0

Write address for mapped 2D engine registers.
Write data for mapped 2D engine registers.

GCMQ_BASE_
ADD

GCMQ+000Ch Graphic Command Queue Base Address Register
Bit
Name
Type
Bit
Name
Type

1
0
WEN EN
R/W R/W
0
0

23

Re
lea
se

31

15
WR_R
Name
DY
Type RO
Reset
0

Bit
Name
Type
Bit
Name
Type

16

fo
r

GCMQ+0004h Graphic Command Queue Status Register
Bit
Name
Type
Reset
Bit

17

31

30

15

14

29

28

27

26

13

12

11

10

25
24
23
22
BASE_ADD[31:16]
R/W
9
8
7
6
BASE_ADD[15:0]
R/W

21

20

19

18

17

16

5

4

3

2

1

0

MT
K

BASE_ADD
Starting address of the command queue in memory.
Note : This field can only be modified while the command queue is not enabled; otherwise the behavior of
the command queue is unpredictable.

304/616

MediaTek Inc. Confidential

GCMQ_LENGT
H

GCMQ+0010h Graphic Command Queue Buffer Length Register
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

21

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20

19

18

5
4
LENGTH
R/W

3

2

17

16

1

0

fo
r

LENGTH[9:0] Length of the command queue. Occupied space of the command queue in the memory is LENGTH
*4Bytes.
Note : This field can only be modified while the command queue is not enabled; otherwise the behavior of
the command queue is unpredictable.

GCMQ_DMA_A
DDR

Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

15

14

13

12

11

10

Re
lea
se

GCMQ+0014h Graphic Command Queue Current Register
25
24
23
22
GCMQ_DMA_ADDR
RO
9
8
7
6
GCMQ_DMA_ADDR
RO

21

20

19

18

17

16

5

4

3

2

1

0

GCMQ_DMA_ADDR Current read or write DMA address of GCMQ.

6.7
6.7.1

Co
nf
id
en
tia
l

6.6.2.3

Capture Resize

General Description

MT
K

This block provides the image resizing function for image and video capturing scenarios. It receives image data from
the ISP module, performs the image resizing function and outputs to the IMG_DMA module. Figure 27 shows the
block diagram. The capture resize is composed of horizontal and vertical resizing blocks. It can scale up or down
the input image by any ratio. However, the maximum sizes of input and output images are limited to 2048x2048.

Figure 27 Block diagram of the capture resize
The horizontal resizing function is a combination of 2’s power average and bi-linear interpolation. The vertical
resizing function is a bi-linear interpolation. The input and output format are both YUV444. But the internal

305/616

MediaTek Inc. Confidential

working memory format is YUV422 to mitigate memory and bandwidth requirements.
employed in the capture resize for the vertical buffer read/write.

6.7.2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

There is one GMC port

Register Definitions

REGISTER ADDRESS REGISTER NAME

SYNONYM

Capture Resize Configuration Register

CRZ_CFG

Capture Resize Control Register

CRZ_CON

CRZ + 0008h

Capture Resize Status Register

CRZ_STA

CRZ + 000Ch

Capture Resize Interrupt Register

CRZ + 0010h

Capture Resize Source Image Size Register 1

fo
r

CRZ+ 0000h
CRZ + 0004h

CRZ_INT

CRZ_SRCSZ1

Capture Resize Target Image Size Register 1
Capture Resize Horizontal Ratio Register 1

CRZ_TARSZ1

CRZ_HRATIO1

CRZ + 001Ch

Capture Resize Vertical Ratio Register 1

CRZ_VRATIO1

CRZ + 0020h

Capture Resize Horizontal Residual Register 1

CRZ_HRES1

CRZ + 0024h

Capture Resize Vertical Residual Register 1

CRZ_VRES1

CRZ + 0040h

Capture Resize Fine Resizing Configuration Register

CRZ_FRCFG

CRZ + 005Ch

Capture Resize Pixel-Based Resizing Working Memory Base
Address

CRZ_PRWMBASE

CRZ + 00B0h

Capture Resize Information Register 0

CRZ_INFO0

CRZ + 00B4h

Capture Resize Information Register 1

CRZ_INFO1

CRZ + 00B8h

Capture Resize Information Register 2

CRZ_INFO2

CRZ + 00BCh

Capture Resize Information Register 3

CRZ_INFO3

CRZ + 00C0h

Capture Resize Information Register 4

CRZ_INFO4

Co
nf
id
en
tia
l

Re
lea
se

CRZ + 0014h
CRZ + 0018h

CRZ_INFO5

CRZ + 00C4h

6.7.2.1

Capture Resize Configuration Register

CRZ+0000h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Capture Resize Information Register 5

31

30

15

14

Capture Resize Configuration Register

CRZ_CFG

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7
LBSE
L
R/W
0

6

5

4

3

2

1

0

PSEL PCON
R/W
0

R/W
0

PELSRC1
R/W
0000

The register is for global configuration of Capture Resize.

MT
K

PELSRC1 The register field specifies which pixel-based image source is serviced.
0 Camera Interface
1 MPEG4 Encoder DMA
2 MPEG4 Decoder DMA
3 IBW4 DMA
4 IPP
Others Reserved

306/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6.7.2.2

Capture Resize Control Register

CRZ+0004h
Bit

Capture Resize Control Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Name
Type
Reset
Bit

Re
lea
se

fo
r

PCON The register bit specifies if pixel-based resizing continues whenever an image finishes processing. Once
continuous run for pixel-based resizing is enabled and pixel-based resizing is running, the only way to stop is
to reset Capture Resize. If to stop immediately is desired, reset Capture Resize directly. If the last image is
desired, set the register bit to ‘0’ first. Then wait until image resizer is not busy again. Finally reset image
resizer.
0 Single run
1 Continuous run
PSEL The register field determines if block-based image sources is serviced.
0 Block-based image source is serviced.
1 Block-based image source is NOT serviced completely. Clock for block-based processes is stopped and
block-based image input is blocked completely.
LBSEL Line buffer selection.
0 Shared memory.
1 Dedicated memory.

Name

22

21

20

19

7

6

5

4

3

Co
nf
id
en
tia
l

Type
Reset

23

CRZ_CON
18
PELV
RRST
R/W
0
2
PELV
RENA
R/W
0

17
PELH
RRST
R/W
0
1
PELH
RENA
R/W
0

16

The register is for global control of Capture Resize. Note that software reset does NOT reset all register settings.
Remember to trigger Capture Resize first before triggering image sources to Capture Resize.
PELHRENA

Writing ‘1’ to the register bit causes pixel-based fine horizontal resizing proceed to work. However,
if horizontal resizing is not necessary, do not write ‘1’ to the register bit.
Writing ‘1’ to the register bit causes pixel-based fine vertical resizing proceed to work. However, if
vertical resizing is not necessary, do not write ‘1’ to the register bit.
Writing ‘1’ to the register causes pixel-based fine horizontal resizing to stop immediately and have
pixel-based fine horizontal resizing keep in reset state. In order to have pixel-based fine horizontal
resizing go to normal state, write ‘0’ to the register bit.
Writing ‘1’ to the register causes pixel-based fine vertical resizing to stop immediately and have
pixel-based fine vertical resizing keep in reset state. In order to have pixel-based fine vertical
resizing go to normal state, write ‘0’ to the register bit.

PELVRENA
PELHRRST

PELVRRST

6.7.2.3

Capture Resize Status Register

CRZ+0008h

CRZ_STA

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MT
K

Bit
Name
Type
Reset
Bit

Capture Resize Status Register

307/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

PELV PELH
RBUS RBUS
Y
Y
RO
RO
0
0

Name
Type
Reset

The register indicates global status of Capture Resize.
PELHRBUSY
PELVRBUSY

CRZ+000Ch
Bit
Name
Type
Reset
Bit

Capture Resize Interrupt Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Name
Type
Reset

The register shows up the interrupt status of resizer.

23

fo
r

Capture Resize Interrupt Register

CRZ_INT

22

21

20

19

Re
lea
se

6.7.2.4

Pixel-based HR (Horizontal Resizing) Busy Status
Pixel-based VR (Vertical Resizing) Busy Status

7

6

5

4

3

18

17

2
1
PELV PELH
RINT RINT
RC
RC
0
0

16

0

6.7.2.5

Capture Resize Source Image Size Register 1

CRZ+0010h
Bit
Name
Type
Bit
Name
Type

31

Co
nf
id
en
tia
l

PELHRINT Interrupt for PELHR (Pixel-based Horizontal Resizing). No matter the register bit
CRZ_FRCFG.HRINTEN is enabled or not, the register bit is active whenever PELHR completes. It
could be as software interrupt by polling the register bit. Clear it by reading the register.
PELVRINT Interrupt for PELVR (Pixel -based Vertical Resizing). No matter the register bit
CRZ_FRCFG.VRINTEN is enabled or not, the register bit is active whenever PELVR completes. It
could be as software interrupt by polling the register bit. Clear it by reading the register.

30

Capture Resize Source Image Size Register 1

29

28

27

26

25

24

CRZ_SRCSZ1

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

HS
R/W

15

14

13

12

11

10

9

8

WS
R/W

The register specifies the size of source image after coarse shrink process. The allowable maximum size is
2048x2048. Note that the width of source image must be a multiple of 8xHmax and the height of source image must be a
multiple of 8xVmax when Block Coarse Shrinking is involved.
The register field specifies the width of source image after coarse shrink process.
1 The width of source image after coarse shrink process is 1.
2 The width of source image is 2.
…
The register field specifies the height of source image after coarse shrink process.
1 The height of source image after coarse shrink process is 1.
2 The height of source image after coarse shrink process is 2.
…

MT
K

WS

HS

308/616

MediaTek Inc. Confidential

6.7.2.6

Capture Resize Target Image Size Register 1

CRZ+0014h
31

30

Capture Resize Target Image Size Register 1
29

28

27

26

25

24

CRZ_TARSZ1

23

22

21

20

19

18

7

6

5

4

3

2

HT
R/W
15

14

13

12

11

10

9

8
WT
R/W

17

16

1

0

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register specifies the size of target image. The allowable maximum size is 2048x2048.

6.7.2.7

Capture Resize Horizontal Ratio Register 1

CRZ+0018h
Bit
Name
Type
Bit
Name
Type

Capture Resize Horizontal Ratio Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

The register specifies horizontal resizing ratio.

6.7.2.8

24
23
22
RATIO [31:16]
R/W
8
7
6
RATIO [15:0]
R/W

CRZ_HRATIO1

21

20

19

18

17

16

5

4

3

2

1

0

It is obtained by CRZ_SRCSZ.WS * 220 / CRZ_TARSZ.WT.

Capture Resize Vertical Ratio Register 1

CRZ+001Ch
Bit
Name
Type
Bit
Name
Type

Re
lea
se

HT

The register field specifies the width of target image.
1 The width of target image is 1.
2 The width of target image is 2.
…
The register field specifies the height of target image.
1 The height of target image is 1.
2 The height of target image is 2.
…

Co
nf
id
en
tia
l

WT

31

30

15

14

Capture Resize Vertical Ratio Register 1
29

28

27

26

25

13

12

11

10

9

24
23
22
RATIO [31:16]
R/W
8
7
6
RATIO [15:0]
R/W

CRZ_VRATIO1
21

20

19

18

17

16

5

4

3

2

1

0

The register specifies vertical resizing ratio. It is obtained by CRZ_SRCSZ.HS * 220 / CRZ_TARSZ.HT.

6.7.2.9

Capture Resize Horizontal Residual Register 1
Capture Resize Horizontal Residual Register 1

MT
K

CRZ+0020h
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24

23

8
7
RESIDUAL
R/W
309/616

CRZ_HRES1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

The register specifies horizontal residual.
maximum value is 2046.

Capture Resize Vertical Residual Register 1

30

29

28

27

26

25

15

14

13

12

11

10

9

The register specifies vertical residual.
maximum value is 2046.

23

8
7
RESIDUAL
R/W

22

21

20

6

5

4

19

18

17

16

3

It is obtained by CRZ_SRCSZ.HS % CRZ_TARSZ.HT.

2

1

0

The allowable

Capture Resize Fine Resizing Configuration Register

CRZ+0040h
Bit
Name
Type
Bit

24

CRZ_VRES1

fo
r

31

6.7.2.11

The allowable

Capture Resize Vertical Residual Register 1

CRZ+0024h
Bit
Name
Type
Bit
Name
Type

It is obtained by CRZ_SRCSZ.WS % CRZ_TARSZ.WT.

Re
lea
se

6.7.2.10

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Capture Resize Fine Resizing Configuration
Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
WMSZ
R/W
8
7

PCSF1

Type
Reset

R/W
00

Co
nf
id
en
tia
l

Name

22

6

21

20

5
4
VRINT HRIN
EN TEN
R/W R/W
0
0

CRZ_FRCFG

19

18

17

16

3

2

1

0

The register specifies various setting of control for fine resizing, including of horizontal and vertical resizing.
that all parameters must be set before horizontal and vertical resizing proceeds.

VRSS
R/W
0

Note

MT
K

VRSS The register bit specifies whether subsampling for vertical resizing is enabled. For throughput issue, vertical
resizing may be simplified by subsampling lines vertically. The register bit is only valid in pixel-based
mode.
0 Subsampling for vertical resizing is disabled.
1 Subsampling for vertical resizing is enabled.
HRINTEN HR (Horizontal Resizing) Interrupt Enable. When interrupt for HR is enabled, an interrupt is generated
whenever HR finishes.
0 Interrupt for HR is disabled.
1 Interrupt for HR is enabled.
VRINTEN VR (Vertical Resizing) Interrupt Enable. When interrupt for VR is enabled, an interrupt is generated
whenever VR finishes.
0 Interrupt for VR is disabled.
1 Interrupt for VR is enabled.
PCSF1 Coarse Shrinking Factor 1 for pixel-based resizing. Only horizontal coarse shrinking is supported for
pixel-based resizing.
00 No coarse shrinking.
01 Image width becomes 1/2 of original size after coarse shrink pass.
10 Image width becomes 1/4 of original size after coarse shrink pass.
11 Image width becomes 1/8 of original size after coarse shrink pass.

310/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

WMSZ It stands for Working Memory SiZe. The register specifies how many lines after horizontal resizing can be
filled into working memory. Its minimum value is 4.

Capture Resize Pixel-Based Resizing Working Memory Base Address
Register
Capture Resize Pixel-Based Resizing
Working Memory Base Address Register

CRZ+005Ch
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
PRWMBASE [31:16]
R/W
9
8
7
6
PRWMBASE [15:0]
R/W

CRZ_PRWMBASE

21

20

5

4

6.7.2.13

17

16

3

2

1

0

It must be byte-aligned.

Capture Resize Information Register 0

CRZ+00B0h
Bit
Name
Type
Bit
Name
Type

18

Re
lea
se

The register specifies the base address of working memory in pixel-based resizing mode.
When CRZ_CFG.LB_SEL is set, this address should be set as 0x40020000.

19

fo
r

6.7.2.12

Capture Resize Information Register 0

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

CRZ_INFO0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

INFO[31:16]
INFO[15:00]

6.7.2.14

BLKCS y
BLKCS x

Capture Resize Information Register 1

CRZ+00B4
Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

The register shows progress of BLKCS. But they are not real processed width/height. Sampling factors must be
taken into consideration. For example, if (VY, VU, VV)=(2,4,4) then real processed width/height are two times of the
register.

Capture Resize Information Register 1

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

CRZ_INFO1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of BLK2PEL.
BLK2PEL y
BLK2PEL x

MT
K

INFO[31:16]
INFO[15:00]

311/616

MediaTek Inc. Confidential

Capture Resize Information Register 2

CRZ+00B8
Bit
Name
Type
Bit
Name
Type

Capture Resize Information Register 2

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

CRZ_INFO2

22

21

20

19

18

6

5

4

3

2

The register shows progress of pixels received from BLKCS in fine resizing stage.
INFO[31:16]
INFO[15:00]

Indicates the account of vertical lines received from BLKCS in fine resizing stage.
Indicates the account of horizontal pixels received from BLKCS in fine resizing stage.
becomes zero when resizing completes.

16

1

0

Note that it

Capture Resize Information Register 3

CRZ+00BC
Bit
Name
Type
Bit
Name
Type

Re
lea
se

6.7.2.16

17

fo
r

6.7.2.15

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Capture Resize Information Register 3

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

CRZ_INFO3

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of horizontal resizing in fine resizing stage.
INFO[31:16]
INFO[15:00]

Capture Resize Information Register 4

CRZ+00C0
Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

6.7.2.17

Indicates the account of horizontal resizing in fine resizing stage in horizontal direction.
Indicates the account of horizontal resizing in fine resizing stage in vertical direction.

Capture Resize Information Register 4

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

CRZ_INFO4

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of vertical resizing in fine resizing stage.
INFO[31:16]
INFO[15:00]

6.7.2.18

Indicates the account of vertical resizing in fine resizing stage in horizontal direction.
Indicates the account of vertical resizing in fine resizing stage in vertical direction.

Capture Resize Information Register 5

Capture Resize Information Register 5

MT
K

CRZ+00C5
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

312/616

CRZ_INFO5

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

The register shows progress of YUV-to-RGB
INFO[31:16]
INFO[15:00]

6.7.3

Indicates YUV-to-RGB in horizontal direction.
Indicates YUV-to-RGB in vertical direction.

Application Notes

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Configuration procedure for pixel-based image sources

fo
r

Working memory. Maximum value is 16 and minimum 4. Remember that each pixel occupies 2 bytes.
Thus minimum requirement for working memory in pixel-based resizing is (pixel number in a line) x2x4
bytes.

Re
lea
se

CRZ_CFG.PSEL=1;
CRZ_CFG.PELSRC = 0;
CRZ_SRCSZ = source image size;
CRZ_TARSZ = target image size;
CRZ_HRATIO = horizontal ratio;
CRZ_VRATIO = vertical ratio;
CRZ_HRES = horizontal residual;
CRZ_VRES = vertical residual;
CRZ_FRCFG = working memory size, interrupt enable;
CRZ_PRWMBASE = working memory base;
CRZ_CON = 0x6;
// Then wait interrupt or polling CRZ_INT.PELHRINT or CRZ_INT.PELVRINT

Drop Resize

6.8.1

Co
nf
id
en
tia
l

6.8

General Description

This block provides a simple resizing function by performing pixel and line dropping. It receives image data from the
Video Encode DMA for videophone local display or the IBW3 DMA for thumbnail image dump, performs the image
resizing function and outputs to the image process engine module. It can scale down the input image by any ratio.
However, the maximum sizes of input and output images are limited to 2048x2048.

6.8.2

Register Definitions

6.8.2.1

Register Map

Table 50 shows the register map.

REGISTER ADDRESS REGISTER NAME
DRZ+ 0000h

Drop Resize Start Register

SYNONYM
DRZ_STR

Drop Resize Control Register

DRZ_CON

Drop Resize Status Register

DRZ_STA

DRZ + 000Ch

Drop Resize Interrupt Acknowledge Register

DRZ_ACKINT

DRZ + 0010h

Drop Resize Source Image Size Register

DRZ_SRC_SIZE

DRZ + 0014h

Drop Resize Target Image Size Register

DRZ_TAR_SIZE

DRZ + 0020h

Drop Resize Horizontal Ratio Register

DRZ_RAT_H

DRZ + 0024h

Drop Resize Vertical Ratio Register

DRZ_RAT_V

MT
K

DRZ+ 0004h

DRZ + 0008h

313/616

MediaTek Inc. Confidential

Revision 1.0

Table 50 Register map.

6.8.2.2

Register Description

Followings are detail descriptions of each register.

DRZ_STR

30

29

28

27

26

25

24

23

22

21

20

R/W
0
14

R/W
0
13

R/W
0
12

R/W
0
11

R/W
0
10

R/W
0
9

R/W
0
8

R/W
0
7

R/W
0
6

R/W
0
5

R/W
0
4

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

19

18

17

16

R/W
0
3

R/W
0
2

R/W
0
1

R/W
0

R/W
0

R/W
0

R/W
0
0
STR
R/W
0

Re
lea
se

Bit
31
Name
Type R/W
Reset
0
Bit
15
Name
Type R/W
Reset
0

Drop Resize Start Register

fo
r

DRZ+0000h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register controls the activity of Drop Resize. Note that before setting STR to “1”, all the configurations shall be
done by giving proper values.
Start the Drop resize engine. Write 1 to this bit will start the FSM of Drop resize. Write 0 to this bit will reset
the FSM of Drop resize.

DRZ+0004h
31

30

Drop Resize Configuration Register
29

MT
K

Bit
Name
Type
Reset
Bit

Co
nf
id
en
tia
l

STR

15

14

13

DRZ_CON

28

27

26

25

24

23

22

21

20

12

11

10

9

8

7

6

5

4

Name
Type

314/616

19

3
AUTO
PSEL
RSTR
R/W R/W

18

17

16

2

1

0
IT
R/W

MediaTek Inc. Confidential

Reset

0

0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0

The register specifies the configuration of Drop resize.
IT

fo
r

Interrupt Enabling
0 Disable
1 Enable
AUTO RSTR Automatic restart. Drop Resize automatically restarts itself while current frame is finished.
0 Disable
1 Enable
PSEL Pixel engine selection
0 Video encode DMA
1 IBW3 DMA.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Drop Resize Status Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

DRZ_STA

Re
lea
se

DRZ+0008h

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16
RUN
RO
0
0
IT
RO
0

This register helps software program being well aware of the global status of Drop Resize.

RUN

Interrupt status for Drop Resize
0 No interrupt is generated.
1 An interrupt is pending and waiting for service.
Drop Resize status
0 Drop Resize is stopped or has completed the transfer already.
1 Drop Resize is currently running.

DRZ+000Ch
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Co
nf
id
en
tia
l

IT

Drop Resize Interrupt Acknowledge Register

DRZ_ACKINT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0
ACK
WO

This register is used to acknowledge the current interrupt request associated with the completion event of Drop Resize
by software program. Note that this is a write-only register, and any read to it will return a value of “0”.
ACK

Interrupt acknowledge for the Drop Resize
0 No effect
1 Interrupt request is acknowledged and should be relinquished.

DRZ+0010h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name

Drop Resize Source Image Size Register

15

14

13

28

27

26

25

24

DRZ_SRC_SIZE

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

V
R/W
0
12

11

10

9

8
H

315/616

MediaTek Inc. Confidential

Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
R/W
0

The register specifies the size of source image. The maximum allowable size is 2048x2048.
the height of source image-1
the width of source image-1

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

Drop Resize Target Image Size Register
29

28

27

26

25

24

DRZ_TAR_SIZE

23

22

21

20

7

6

5

4

V
R/W
0
15

14

13

12

11

10

9

8
H
R/W
0

19

18

17

fo
r

DRZ+0014h

3

Re
lea
se

V
H

2

1

16

0

The register specifies the size of target image. The maximum allowable size is 2048x2048.
the height of target image-1
the width of target image-1

DRZ+0020h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Drop Resize Horizontal Ratio Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
I [31:16]
R/W
0
8
7
Q [15:0]
R/W
0

Co
nf
id
en
tia
l

V
H

DRZ_RAT_H

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register specifies horizontal resizing ratio. It is obtained by (the width of source image/the width of target image) =
I + Q/P = I + Q/the width of target image.
I [31:0] the integer part
Q [31:0]
the denominator

DRZ+0024h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Drop Resize Vertical Ratio Register
29

28

27

26

25

13

12

11

10

9

24
23
I [31:16]
R/W
0
8
7
Q [15:0]
R/W
0

DRZ_RAT_V
22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register specifies horizontal resizing ratio. It is obtained by (the height of source image/the height of target image)
= I + Q/P = I + Q/the height of target image.

MT
K

I [31:0] the integer part
Q [31:0]
the denominator

316/616

MediaTek Inc. Confidential

6.9

Post Resize

6.9.1

General Description

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

Figure 27 shows the block diagram of post resize. It receives image data from a block-based source such as JPEG
decoder or from a scan line based source, and then performs image resizing. The capability of resizing in the block is
divided into two portions, coarse pass and fine pass. The first pass is coarse resizing pass and it is able to shrink image
by a factor of 1, 1/4, 1/16, or 1/64. The second pass is the fine resizing pass, which is composed of horizontal and
vertical resizing, and it is able to shrink or enlarge image in fractional ratio. The maximum allowable image size for the
fine resizing pass is 2048x2048. Thus the maximum allowable image size for coarse resizing pass is 16384x16384.
% &"""

!

" #"

Co
nf
id
en
tia
l

$

Re
lea
se

% &"""

Figure 28 Block diagram of the post resize

The strip buffer of coarse resizing pass accumulates de-compressed 8x8 YUV blocks separately. These YUV data are
packed into pixels and sent to the fine resizing pass. There is one GMC port employed in the coarse resize for the strip
buffer read/write.
The fine resizing pass is composed of horizontal and vertical resizing blocks. It can scale up or down the input image
by any ratio. However, the maximum sizes of input and output images are limited to 2048x2048. The horizontal
resizing function is a combination of 2’s power average and bi-linear interpolation. The vertical resizing function is a
bi-linear interpolation. The input and output format are both YUV444. But the internal working memory format is
YUV422 to mitigate memory and bandwidth requirements. There is one GMC port employed in the fine resize for the
vertical buffer read/write.

6.9.2

Working Memories

There are two working memories in post resize. One is the strip buffer, and the other is the vertical buffer.

6.9.2.1

Strip Buffer

MT
K

Let’s denote sampling factor for Y-component as (HY, VY), U-component as (HU, VU) and V-component as (HV, VV) in
a JPEG file. The minimum requirement of memory size for the strip buffer is (the image width of after the coarse
resizing pass) * (VY * 8 + VU * 8 + VV * 8) bytes. It is (2048) * (4 * 8 + 4 * 8 + 2 * 8) = 160K bytes for extreme cases.
To enhance the throughput of JPEG decode process, software may use double buffer scheme. Then it becomes 320K

317/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

bytes. Please note that the strip buffer is composed of the Y buffer, U buffer, and V buffer. Software can allocate
separate memory for them.

6.9.2.2

Vertical Buffer

The minimum requirement of memory for the vertical buffer is (the target image width) * (the line number of
vertical buffer) * 2 bytes. It is (2048) * (2) * 2 = 4K bytes for extreme cases. To enhance throughputs of overall data
paths, software may use double buffer scheme. Then it becomes 8K bytes.

Source Image

fo
r

6.9.3

For the coarse resizing pass, the width of the source image must be multiples of 8 * (maximum horizontal sampling
factor). Similarly, the height of the source image must be multiples of 8 * (maximum vertical sampling factor). The
maximum size of target image is 2048x2048.

6.9.4

Re
lea
se

For the fine resizing pass, the maximum size of source image and target image are both 2048x2048.

Flow Control

For the coarse resizing pass, the coarse resizing will send pixel data to the fine resizing when they are ready with hand
shake signal. If strip buffer is full, the coarse resizing will halt image data input until the strip buffer is available.
For the fine resizing pass, the fine resizing will send pixel data to the image post processing when they are ready with
hand shake signal. If vertical buffer is full, the fine resizing will halt image data input until the vertical is available.

6.9.5

Throughput

Co
nf
id
en
tia
l

For block-based image sources, the process time for one pixel is about 3 cycles. Therefore if 15 frames per second are
desired and Post Resize is running at 52 MHz then the maximum pixel number per frame is about 1.15M. That is about
1075x1075.
For pixel-based image sources, the process time for one pixel is about 2.25 cycles. Therefore if 15 frames per second
are desired and Post Resize is running at 52 MHz then the maximum pixel number per frame is about 1.5M. That is
about 1241x1241.
Since memory bandwidth requirements are different for scale up and down, it may be able to enhance throughput by
adjusting the register setting of PRZ_CFG.BWA0/BWB0. When scaling up, memory bandwidth requirement for read is
higher than memory bandwidth requirements for write. However, when scaling down, memory bandwidth requirement
for write is higher than memory bandwidth requirements for read. Therefore when horizontally scaling up, throughput
can be enhance by setting PRZ_CFG.B0 with higher value than PRZ_CFG.A0. Similarly when horizontally scaling
down, throughput can be enhance by setting PRZ_CFG.A0 with higher value than PRZ_CFG.B0. Therefore when
vertically scale up throughput can be enhance by setting PRZ_CFG.B1 with higher value than PRZ_CFG.A1. Similarly
when vertically scale down throughput can be enhance by setting PRZ_CFG.A1 with higher value than PRZ_CFG.B1.

6.9.6

Register Definitions

REGISTER ADDRESS REGISTER NAME

MT
K

PRZ+ 0000h
PRZ + 0004h

SYNONYM

Post Resize Configuration Register

PRZ_CFG

Post Resize Control Register

PRZ_CON

PRZ + 0008h

Post Resize Status Register

PRZ_STA

PRZ + 000Ch

Post Resize Interrupt Register

PRZ_INT

PRZ + 0010h

Post Resize Source Image Size Register 1

PRZ_SRCSZ1

318/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Post Resize Target Image Size Register 1

PRZ_TARSZ1

Post Resize Horizontal Ratio Register 1

PRZ_HRATIO1

PRZ + 001Ch

Post Resize Vertical Ratio Register 1

PRZ_VRATIO1

PRZ + 0020h

Post Resize Horizontal Residual Register 1

PRZ_HRES1

PRZ + 0024h

Post Resize Vertical Residual Register 1

PRZ_VRES1

PRZ + 0030h

Post Resize Block Coarse Shrinking Configuration Register

PRZ_BLKCSCFG

PRZ + 0034h

Post Resize Y-Component Line Buffer Memory Base Address

PRZ_YLMBASE

PRZ + 0038h

Post Resize U-Component Line Buffer Memory Base Address

PRZ_ULMBASE

PRZ + 003Ch

Post Resize V-Component Line Buffer Memory Base Address

PRZ + 0040h

Post Resize Fine Resizing Configuration Register

PRZ + 0050h

Post Resize Y Line Buffer Size Register

PRZ + 005Ch

Post Resize Pixel-Based Resizing Working Memory Base Address

PRZ_PRWMBASE

PRZ + 00B0h

Post Resize Information Register 0

PRZ_INFO0

Post Resize Information Register 1
Post Resize Information Register 2

PRZ + 00BCh

Post Resize Information Register 3

PRZ + 00C0h

Post Resize Information Register 4

PRZ + 00C4h

Post Resize Information Register 5

Name
Type
Reset

PRZ_INFO1

PRZ_INFO3

PRZ_INFO4

PRZ_INFO5

Post Resize Configuration Register

PRZ+0000h
Bit
Name
Type
Reset
Bit

PRZ_FRCFG

PRZ_YLBSIZE

PRZ_INFO2

31

30

15

14

Post Resize Configuration Register
29

28

27

26

25

24

23

Co
nf
id
en
tia
l

6.9.6.1

PRZ_VLMBASE

Re
lea
se

PRZ + 00B4h
PRZ + 00B8h

fo
r

PRZ + 0014h
PRZ + 0018h

13

12

11

10

9

8

7
LBSE
L
R/W
0

22
21
BWB0
R/W
0000
6
5

20

19

4

3

PSEL PCON
R/W
0

R/W
0

PRZ_CFG
18
17
BWA0
R/W
0000
2
1

16

0

PELSRC1
R/W
0000

The register is for global configuration of Post Resize.

MT
K

PELSRC1 The register field specifies which pixel-based image source is serviced.
1 MPEG4 Encoder DMA
2 MPEG4 Decoder DMA
3 IBW4 DMA
5 IPP
6 JPEG Decoder
Others Reserved
PCON The register bit specifies if pixel-based resizing continues whenever an image finishes processing. Once
continuous run for pixel-based resizing is enabled and pixel-based resizing is running, the only way to stop is
to reset Post Resize. If immediate stop is desired, reset Post Resize directly. If the last image is desired, set the
register bit to ‘0’ first. Then wait till Post Resize is not busy again. Finally reset Post Resize.
0 Single run
1 Continuous run
PSEL The register field determines if block-based image sources is serviced.

319/616

MediaTek Inc. Confidential

0
1

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6.9.6.2

Post Resize Control Register

PRZ+0004h
Bit

31

30

15

14

Name
Type
Reset
Bit
Name

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Block-based image source will be serviced.
Block-based image source will NOT be serviced completely. Clock for block-based processes will be
stopped and block-based image input will be blocked completely.
LBSEL line buffer selection. When CRZ_CFG.LB_SEL is set, this bit should not be set.
0 Shared memory.
1 Dedicated memory.
BWA0 Bandwidth selection for port A of memory interface 0. In block-based mode, this is the memory interface
between BLKCS and BLKHR. In pixel-based mode, that’s is memory interface between PELHR and PELVR.
Each memory interface has one write port (port A) and one read port (port B). The arbitration between port A
and port B of memory interface 0 is based on the setting of the register fields BWA0 and BWB0. The
arbitration scheme is fair between port A and port B. However, if the register field BWA0 is set larger value
than the register field BWB0 then port A can get more bandwidth than port B.
0 If memory access of port A and port B take place simultaneously, then grant will be given to port B
whenever port A gets grant once.
1 If memory access of port A and port B take place simultaneously, then grant will be given to port B
whenever port A gets grant twice.
2 If memory access of port A and port B take place simultaneously, then grant will be given to port B
whenever port A gets grant three times.
…
BWB0 Bandwidth selection for port b of memory interface 0. In block-based mode, this is the memory interface
between BLKCS and BLKHR. In pixel-based mode, that’s is memory interface between PELHR and PELVR.
Each memory interface has one write port (port A) and one read port (port B). The arbitration between port A
and port B of memory interface 0 is based on the setting of the register fields BWA0 and BWB0. The
arbitration scheme is fair between port A and port B. However, if the register field BWB0 is set larger value
than the register field BWA0 then port B can get more bandwidth than port A.
0 If memory access of port A and port B take place simultaneously, then grant will be given to port A
whenever port B gets grant once.
1 If memory access of port A and port B take place simultaneously, then grant will be given to port A
whenever port B gets grant twice.
2 If memory access of port A and port B take place simultaneously, then grant will be given to port A
whenever port B gets grant three times.
…

Post Resize Control Register

PRZ_CON

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

MT
K

Type
Reset

18
PELV
RRST
R/W
0
2
PELV
RENA
R/W
0

17
PELH
RRST
R/W
0
1
PELH
RENA
R/W
0

16
BLKC
SRST
R/W
0
0
BLKC
SENA
R/W
0

The register is for global control of Post Resize. Note that block-based and pixel-based resizing cannot execute
parallel. Furthermore, software reset will NOT reset all register setting. Remember trigger Post Resize first
before trigger image sources to Post Resize.

320/616

MediaTek Inc. Confidential

BLKCSENA

Writing ‘1’ to the register bit will cause Block Coarse Shrinking proceed to work. Block Coarse
Shrinking is designed to cooperate width JPEG decoder. It works on the fly. Bu it needs to be
restarted every time before working.
Writing ‘1’ to the register bit will cause pixel-based fine horizontal resizing proceed to work.
However, if horizontal resizing is not necessary, do not write ‘1’ to the register bit.
Writing ‘1’ to the register bit will cause pixel-based fine vertical resizing proceed to work. However,
if vertical resizing is not necessary, do not write ‘1’ to the register bit.
Writing ‘1’ to the register bit will force Block Coarse Shrinking to stop immediately and have Block
Coarse Shrinking keep in reset state. In order to have Block Coarse Shrinking go to normal state,
writing ‘0’ to the register bit.
Writing ‘1’ to the register will cause pixel-based fine horizontal resizing to stop immediately and have
pixel-based fine horizontal resizing keep in reset state. In order to have pixel-based fine horizontal
resizing go to normal state, writing ‘0’ to the register bit.
Writing ‘1’ to the register will pixel-based fine vertical resizing to stop immediately and have
pixel-based fine vertical resizing keep in reset state. In order to have pixel-based fine vertical resizing
go to normal state, writing ‘0’ to the register bit.

PELHRENA
PELVRENA

PELHRRST

PELVRRST

Post Resize Status Register

PRZ+0008h
Bit
Name
Type
Reset
Bit

Re
lea
se

fo
r

BLKCSRST

6.9.6.3

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Post Resize Status Register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

21

20

19

7

6

5

4
BLKI
NTRA
BSY
RO
0

3

Type
Reset

Co
nf
id
en
tia
l

Name

PRZ_STA
18

17

16

2
1
0
PELV PELH BLKC
RBUS RBUS SBUS
Y
Y
Y
RO
RO
RO
0
0
0

The register indicates global status of Post Resize.

BLKCSBUSY Block-based CS (Coarse Shrinking) Busy Status
PELHRBUSY Pixel-based HR (Horizontal Resizing) Busy Status
PELVRBUSY Pixel-based VR (Vertical Resizing) Busy Status
BLKINTRABSY Block-based CS (Coarse Shrinking) Intra-Block Busy Status

6.9.6.4

Post Resize Interrupt Register

PRZ+000Ch
Bit
Name
Type
Reset
Bit

31

30

15

14

Post Resize Interrupt Register

PRZ_INT

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

MT
K

Name
Type
Reset

18

17

16

2
1
0
PELV PELH BLKC
RINT RINT SINT
RC
RC
RC
0
0
0

The register shows up the interrupt status of resizer.

321/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Post Resize Source Image Size Register 1

PRZ+0010h
Bit
Name
Type
Bit
Name
Type

31

30

Post Resize Source Image Size Register 1
29

28

27

26

25

24

PRZ_SRCSZ1

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Re
lea
se

6.9.6.5

fo
r

BLKCSINT Interrupt for BLKCS (Block-based Coarse Shrink). No matter if the register bit PRZ_BLKCSCFG.INTEN
is enabled or not, the register bit will be active whenever BLKCS completes. It could be used as software
interrupt by polling the register bit. Clear it by reading the register.
PELHRINT Interrupt for PELHR (Pixel-based Horizontal Resizing). No matter if the register bit
PRZ_FRCFG.HRINTEN is enabled or not, the register bit will be active whenever PELHR completes. It
could be used as software interrupt by polling the register bit. Clear it by reading the register.
PELVRINT Interrupt for PELVR (Pixel -based Vertical Resizing). No matter if the register bit
PRZ_FRCFG.VRINTEN is enabled or not, the register bit will be active whenever PELVR completes. It
could be used as software interrupt by polling the register bit. Clear it by reading the register.

HS
R/W
15

14

13

12

11

10

9

8

WS
R/W

The register specifies the size of source image after coarse shrink process. The maximum allowable size is 2048x2048.
Note that for the width of source image must be multiples of 8xHmax and the height of source image must be multiples
of 8xVmax when Block Coarse Shrinking is involved.

HS

The register field specifies the width of source image after coarse shrink process.
1 The width of source image after coarse shrink process is 1.
2 The width of source image is 2.
…
The register field specifies the height of source image after coarse shrink process.
1 The height of source image after coarse shrink process is 1.
2 The height of source image after coarse shrink process is 2.
…

6.9.6.6

Post Resize Target Image Size Register 1

PRZ+0014h
Bit
Name
Type
Bit
Name
Type

31

Co
nf
id
en
tia
l

WS

30

Post Resize Target Image Size Register 1

29

28

27

26

25

24

PRZ_TARSZ1

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

HT
R/W

15

14

13

12

11

10

9

8

WT
R/W

The register specifies the size of target image. The maximum allowable size is 2048x2048.
The register field specifies the width of target image.
1 The width of target image is 1.
2 The width of target image is 2.
…
The register field specifies the height of target image.
1 The height of target image is 1.
2 The height of target image is 2.

MT
K

WT

HT

322/616

MediaTek Inc. Confidential

Revision 1.0

…

Post Resize Horizontal Ratio Register 1

PRZ+0018h
Bit
Name
Type
Bit
Name
Type

Post Resize Horizontal Ratio Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
RATIO [31:16]
R/W
8
7
6
RATIO [15:0]
R/W

PRZ_HRATIO1
21

20

19

18

5

4

3

2

17

16

1

0

fo
r

6.9.6.7

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register specifies horizontal resizing ratio. It is obtained by PRZ_SRCSZ.WS * 220 / PRZ_TARSZ.WT.

Post Resize Vertical Ratio Register 1

PRZ+001Ch
Bit
Name
Type
Bit
Name
Type

Re
lea
se

6.9.6.8

Post Resize Vertical Ratio Register 1

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
RATIO [31:16]
R/W
8
7
6
RATIO [15:0]
R/W

PRZ_VRATIO1

21

20

19

18

17

16

5

4

3

2

1

0

The register specifies vertical resizing ratio. It is obtained by PRZ_SRCSZ.HS * 220 / PRZ_TARSZ.HT.

Post Resize Horizontal Residual Register 1

PRZ+0020h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Post Resize Horizontal Residual Register 1

Co
nf
id
en
tia
l

6.9.6.9

29

28

27

26

25

13

12

11

10

9

24

23

8
7
RESIDUAL
R/W

PRZ_HRES1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register specifies horizontal residual. It is obtained by PRZ_SRCSZ.WS % PRZ_TARSZ.WT. The maximum
allowable value is 2046.

6.9.6.10

Post Resize Vertical Residual Register 1

PRZ+0024h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Post Resize Vertical Residual Register 1
29

28

27

26

25

13

12

11

10

9

24

23

8
7
RESIDUAL
R/W

PRZ_VRES1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MT
K

The register specifies vertical residual. It is obtained by PRZ_SRCSZ.HS % PRZ_TARSZ.HT. The allowable
maximum value is 2046.

323/616

MediaTek Inc. Confidential

6.9.6.11

Post Resize Block Coarse Shrinking Configuration Register

PRZ+0030h
Bit

Revision 1.0

31

Post Resize Block Coarse Shrinking
Configuration Register

30

29

14

13

28

27

12

11

26

25

10

9

24

23

8

7

PRZ_BLKCSCFG

22

21

6

5

20

19

18

4

3

2

15
VV
R/W
00

HV
R/W
00

VU
R/W
00

HU
R/W
00

VY
R/W
00

HY
R/W
00

17

16
INTE
N
R/W
0
1
0
CSF
R/W
00

fo
r

Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

HY

VY

HU

VU

MT
K

HV

It stands for Coarse Shrink Factor. The value specifies the scale factor in coarse shrink pass.
00 Image size does not change after coarse shrink pass.
01 Image size becomes 1/4 of original size after coarse shrink pass.
10 Image size becomes 1/16 of original size after coarse shrink pass.
11 Image size becomes 1/64 of original size after coarse shrink pass.
Horizontal sampling factor for Y-component
00 Horizontal sampling factor for Y-component is 1.
01 Horizontal sampling factor for Y-component is 2.
10 Horizontal sampling factor for Y-component is 4.
11 No Y-component.
Vertical sampling factor for Y-component
00 Vertical sampling factor for Y-component is 1.
01 Vertical sampling factor for Y-component is 2.
10 Vertical sampling factor for Y-component is 4.
11 No Y-component.
Horizontal sampling factor for U-component
00 Horizontal sampling factor for U-component is 1.
01 Horizontal sampling factor for U-component is 2.
10 Horizontal sampling factor for U-component is 4.
11 No U-component.
Vertical sampling factor for U-component
00 Vertical sampling factor for U-component is 1.
01 Vertical sampling factor for U-component is 2.
10 Vertical sampling factor for U-component is 4.
11 No U-component.
Horizontal sampling factor for V-component
00 Horizontal sampling factor for V-component is 1.
01 Horizontal sampling factor for V-component is 2.
10 Horizontal sampling factor for V-component is 4.
11 No V-component.
Vertical sampling factor for V-component
00 Vertical sampling factor for V-component is 1.

Co
nf
id
en
tia
l

CSF

Re
lea
se

The register is for various configuration of Block Coarse Shrinking in Post Resize. Block Coarse Shrinking is dedicated
for JPEG decoder. Therefore all processes are based on blocks composed of 8x8 pixels. Note that all parameters must
be set before writing ‘1’ to the register bit PRZ_CON.BLKCSENA.

VV

324/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

01 Vertical sampling factor for V-component is 2.
10 Vertical sampling factor for V-component is 4.
11 No V-component.
INTEN Interrupt Enable. When interrupt for BLKCS is enabled, interrupt will arise whenever BLKCS finishes.
0 Interrupt for BLKCS is disabled.
1 Interrupt for BLKCS is enabled.

PRZ+0034h
Bit
Name
Type
Bit
Name
Type

Post Resize Y-Component Line Buffer Memory
Base Address Register

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
YLMBASE [31:16]
R/W
9
8
7
6
YLMBASE [15:0]
R/W

21

20

5

4

fo
r

Post Resize Y-Component Line Buffer Memory Base Address Register

PRZ_YLMBASE

19

18

17

16

3

2

1

0

Re
lea
se

6.9.6.12

The register specifies the base address of line buffer for Y-component. It could be byte-aligned. It is only useful in
block-based mode.

Post Resize U-Component Line Buffer Memory Base Address Register

PRZ+0038h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Post Resize U-Component Line Buffer Memory
Base Address Register
29

28

27

26

25
24
23
22
ULMBASE [31:16]
R/W
9
8
7
6
ULMBASE [15:0]
R/W

Co
nf
id
en
tia
l

6.9.6.13

13

12

11

10

PRZ_ULMBASE

21

20

19

18

17

16

5

4

3

2

1

0

The register specifies the base address of line buffer for U-component. It could be byte -aligned. It is only useful in
block-based mode.

6.9.6.14

Post Resize V-Component Line Buffer Memory Base Address Register

PRZ+003Ch
Bit
Name
Type
Bit
Name
Type

31

30

15

14

Post Resize V-Component Line Buffer Memory
Base Address Register

29

28

27

26

13

12

11

10

25
24
23
22
VLMBASE [31:16]
R/W
9
8
7
6
VLMBASE [15:0]
R/W

PRZ_VLMBASE

21

20

19

18

17

16

5

4

3

2

1

0

MT
K

The register specifies the base address of line buffer for V-component. It could be byte -aligned. It is only useful in
block-based mode.

325/616

MediaTek Inc. Confidential

Post Resize Fine Resizing Configuration Register

PRZ+0040h
Bit
Name
Type
Bit

Post Resize Fine Resizing Configuration Register

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
WMSZ
R/W
8
7

Name OSEL

PCSF2

PCSF1

Type R/W
Reset
0

R/W
00

R/W
00

22

6

21

20

5
4
VRINT HRIN
EN TEN
R/W R/W
0
0

PRZ_FRCFG

19

18

3

2

17

16

1

0

VRSS

fo
r

6.9.6.15

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

The register specifies various setting of control for fine resizing, including of horizontal and vertical resizing. Note that
all parameters must be set before horizontal and vertical resizing proceeds.

6.9.6.16

Post Resize Y Line Buffer Size Register

PRZ+0050h
31

30

15

14

Post Resize Y Line Buffer Size Register

PRZ_YLBSIZE

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
YLBZE
R/W

6

5

4

3

2

1

0

MT
K

Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

Re
lea
se

VRSS The register bit specifies whether subsampling for vertical resizing is enabled. For throughput issue, vertical
resizing may be simplified by subsampling lines vertically. The register bit is only valid in pixel-based mode.
0 Subsampling for vertical resizing is disabled.
1 Subsampling for vertical resizing is enabled.
HRINTEN HR (Horizontal Resizing) Interrupt Enable. When interrupt for HR is enabled, interrupt will be issued
whenever HR finishes.
0 Interrupt for HR is disabled.
1 Interrupt for HR is enabled.
VRINTEN VR (Vertical Resizing) Interrupt Enable. When interrupt for VR is enabled, interrupt will be issued
whenever VR finishes.
0 Interrupt for VR is disabled.
1 Interrupt for VR is enabled.
PCSF1 Coarse Shrinking Factor 1 for pixel-based resizing. Only horizontal coarse shrinking is supported for
pixel-based resizing.
00 No coarse shrinking.
01 Image width becomes 1/2 of original size after coarse shrink pass.
10 Image width becomes 1/4 of original size after coarse shrink pass.
11 Image width becomes 1/8 of original size after coarse shrink pass.
OSEL The register bit is used to select output modules.
0 Image DMA.
1 IPP.
WMSZ It stands for Working Memory Size. The register specifies how many lines after horizontal resizing can be
filled into working memory. Its minimum value is 4.

The register specifies line buffer size for image data after coarse shrinking. It is only useful in block-based mode.

326/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Post Resize Pixel-Baed Resizing Working Memory Base Address Register
Post Resize Pixel-Based Resizing Working
Memory Base Address Register

PRZ+005Ch
Bit
Name
Type
Bit
Name
Type

Re
lea
se

6.9.6.17

fo
r

YLBSZ It stands for Y-component Line Buffer Size. The register field specifies how many lines of Y-component can
be filled into line buffer. Line buffer size for U- and V-component can be determined according to the
sampling factor. For example, if (VY, VU, VV)=(4,4,2) and line buffer size for Y-component is 32, lines then
the line buffer size for U-component is also 32 lines and V-component 16 lines. If line buffer has capacity for
whole image after block coarse shrinking, then block coarse shrinking can be used for the application of
scaling down by a factor of 2, or 4, or 8. If dual line buffer is used, block coarse shrinking and horizontal
resizing can execute parallel. The maximum allowable value is 2048.
1 Line buffer size for Y-component is 1 lines.
2 Line buffer size for Y-component is 2 lines.
3 Line buffer size for Y-component is 3 lines.
…

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
PRWMBASE [31:16]
R/W
9
8
7
6
PRWMBASE [15:0]
R/W

PRZ_PRWMBASE

21

20

19

18

17

16

5

4

3

2

1

0

The register specifies the base address of working memory in pixel-based resizing mode. It must be byte-aligned.
When PRZ_CFG.LB_SEL is set, this address should be set as 0x40020000.

Post Resize Information Register 0

PRZ+00B0h
Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

6.9.6.18

Post Resize Information Register 0

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

PRZ_INFO0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of BLKCS. But they are not real processed width/height. Sampling factors must be taken
into consideration. For example, if (VY, VU, VV)=(2,4,4) then real processed width/height are two times that of the
register value.
INFO[31:16]
INFO[15:00]

6.9.6.19

BLKCS y
BLKCS x

Post Resize Information Register 1

PRZ+00B4
31

30

29

28

27

26

25

15

14

13

12

11

10

9

MT
K

Bit
Name
Type
Bit
Name
Type

Post Resize Information Register 1
24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

327/616

PRZ_INFO1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The register shows progress of BLK2PEL.
INFO[31:16]
INFO[15:00]

Post Resize Information Register 2

PRZ+00B8
Bit
Name
Type
Bit
Name
Type

Post Resize Information Register 2

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

PRZ_INFO2

22

21

20

6

5

4

19

18

17

16

3

2

1

0

fo
r

6.9.6.20

BLK2PEL y
BLK2PEL x

INFO[31:16]
INFO[15:00]

6.9.6.21

Indicate the account of vertical lines received from BLKCS in fine resizing stage.
Indicate the account of horizontal pixels received from BLKCS in fine resizing stage. Note that it will
become zero when resizing completes.

Post Resize Information Register 3

PRZ+00BC

Post Resize Information Register 3

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Re
lea
se

The register shows progress of pixels received from BLKCS in fine resizing stage.

PRZ_INFO3

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of horizontal resizing in fine resizing stage.
INFO[31:16]
INFO[15:00]

6.9.6.22

Indicate the account of horizontal resizing in fine resizing stage in horizontal direction.
Indicate the account of horizontal resizing in fine resizing stage in vertical direction.

Post Resize Information Register 4

PRZ+00C0
Bit
Name
Type
Bit
Name
Type

Post Resize Information Register 4

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

PRZ_INFO4

22

21

20

19

18

17

16

6

5

4

3

2

1

0

The register shows progress of vertical resizing in fine resizing stage.

Indicate the account of vertical resizing in fine resizing stage in horizontal direction.
Indicate the account of vertical resizing in fine resizing stage in vertical direction.

MT
K

INFO[31:16]
INFO[15:00]

328/616

MediaTek Inc. Confidential

Post Resize Information Register 5

PRZ+00C5
Bit
Name
Type
Bit
Name
Type

Post Resize Information Register 5

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
INFO[31:16]
RO
8
7
INFO[15:0]
RO

22

21

20

19

18

6

5

4

3

2

The register shows progress of YUV-to-RGB

6.9.7

Indicate YUV-to-RGB in horizontal direction.
Indicate YUV-to-RGB in vertical direction.

Application Notes

17

16

1

0

Re
lea
se

INFO[31:16]
INFO[15:00]

PRZ_INFO5

fo
r

6.9.6.23

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Determine line buffer size by taking into consideration of CSF and sampling factor. For example, if CSF=3
and (Vy, Vu, Vv)=(4,x,x) then minimum of line buffer could be 4 instead of 32.
Working memory. Maximum value is 16 and minimum 4. Remember that each pixel occupies 2 bytes. Thus
minimum requirement for working memory in pixel-based resizing is (pixel number in a line) x2x4 bytes.
Configuration procedure for block-based image sources

Co
nf
id
en
tia
l

PRZ_CFG.PSEL=0;
PRZ_CFG.PELSRC = 5;
PRZ_BLKCSCFG = select CSF, sampling factor, interrupt enable;
PRZ_YLBBASE = memory base for Y-component;
PRZ_ULBBASE = memory base for U-component;
PRZ_VLBBASE = memory base for V-component;
PRZ_YLBSIZE = line buffer size for Y-component;
Other same as that for pixel-based image sources
PRZ_CON = 0x7;
// Then wait interrupt or polling PRZ_INT.BLKCSINT or PRZ_INT.BLKHRINT or
// PRZ_INT.BLKVRINT

Configuration procedure for pixel-based image sources

PRZ_CFG.PSEL=1;
PRZ_CFG.PELSRC = 1~4;
PRZ_SRCSZ = source image size;
PRZ_TARSZ = target image size;
PRZ_HRATIO = horizontal ratio;
PRZ_VRATIO = vertical ratio;
PRZ_HRES = horizontal residual;
PRZ_VRES = vertical residual;
PRZ_FRCFG = working memory size, interrupt enable;
PRZ_PRWMBASE = working memory base;
PRZ_CON = 0x6;

MT
K

// Then wait interrupt or polling PRZ_INT.PELHRINT or PRZ_INT.PELVRINT

329/616

MediaTek Inc. Confidential

6.10

Revision 1.0

JPEG Decoder

6.10.1

Overview

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

To boost JPEG image processing performance, a hardware block is preferred to aid software and deal with JPEG file as
much as possible. As a result, JPEG Decoder is designed to decode all baseline and progressive JPEG images with all
YUV sampling frequencies combinations. To gain the best speed performance, JPEG decoder handles all portions of
JPEG files except the 17-byte SOF marker. The software program only needs to program related control registers
based on the SOF marker and waits for an interrupt coming from hardware. Taking into consideration the limited size
of memories, hardware also supports multiple runs of JPEG progressive images and breakpoints insertion in huge JPEG
files. Multiple runs can greatly reduce memory usage by 1/N where N is the number of runs. Breakpoints insertion
allows software to load partial JPEG file from external flash to internal memory if the JPEG file is too large to sit
internally at one time.

Register Definitions

Re
lea
se

6.10.2

JPEG+0000h JPEG Decoder Control Register
Bit
31
Name
Type R/W
Bit
15
Name
Type R/W

30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

R/W

R/W

R/W

R/W

R/W

25
24
23
22
FILE_ADDR[31:16]
R/W R/W R/W R/W
9
8
7
6
FILE_ADDR[15:0]
R/W R/W R/W R/W

The JPEG file starting address must be a multiple of 4.

21

20

19

18

17

16

R/W
5

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

R/W

R/W

R/W

Not affected by global reset and JPEG decoder abort.

Starting physical address of input JPEG file in SRAM

Co
nf
id
en
tia
l

FILE_ADDR

JPEG_FILE_ADDR

TBLS_START_ADD
R

JPEG+0004h JPEG Decoder Control Register
Bit
31
30
29
28
27
Name
Type R/W R/W R/W R/W R/W
Bit
15
14
13
12
11
Name
START_ADDR[15:11]
Type R/W R/W R/W R/W R/W

26

25
24
23
22
START_ADDR[31:16]
R/W R/W R/W R/W
9
8
7
6

R/W
10

21

20

19

18

17

16

R/W
5

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

The table starting address must be a multiple of 2K. Not affected by global reset and JPEG decoder abort.
reprogramming for multiple runs of progressive images.
START_ADDR The starting address of the memory space for 4 quantization tables and 8 Huffman tables.
memory space must be 2K Bytes at least.

JPEG+0008h JPEG Decoder Control Register
Bit
Name
Type
Bit

30

15

14

29

28

13

12

MT
K

Name

31

Type

27

26

25

24

23

Need
The

SAMP_FACTOR
22

21

20

19

18

17

16

11
10
9
8
7
6
5
4
3
2
1
0
H_SAMP_0[ V_SAMP_0[1 H_SAMP_1[ V_SAMP_1[1 H_SAMP_2[ V_SAMP_2[
1:0]
:0]
1:0]
:0]
1:0]
1:0]
R/W
R/W
R/W
R/W
R/W
R/W

This register contains the sampling factor of YUV components.

Not affected by global reset and JPEG decoder abort.

st

H_SAMP_0 Horizontal sampling factor of the 1 component, Y.

330/616

MediaTek Inc. Confidential

Co
nf
id
en
tia
l

Re
lea
se

fo
r

00 SF is 1
01 SF is 2
10 Invalid
11
SF is 4
V_SAMP_0 Vertical sampling factor of the 1st component, Y.
00 SF is 1
01 SF is 2
10 Invalid
11 SF is 4
H_SAMP_1 Horizontal sampling factor of the 2nd component, U.
00 SF is 1
01 SF is 2
10 Invalid
12
SF is 4
V_SAMP_1 Vertical sampling factor of the 2nd component, U.
00 SF is 1
01 SF is 2
10 Invalid
11
SF is 4
H_SAMP_2 Horizontal sampling factor of the 3rd component, V.
00 SF is 1
01 SF is 2
10 Invalid
13
SF is 4
V_SAMP_2 Vertical sampling factor of the 3rd component, V.
00 SF is 1
01 SF is 2
10 Invalid
11 SF is 4

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

JPEG+000Ch JPEG Decoder Control Register
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28
27
26
COMP0_ID[7:0]
R/W
13
12
11
10
COMP2_ID[7:0]
R/W

COMP_ID

25

24

23

22

9

8

7

6

21

20
19
18
COMP1_ID[7:0]
R/W
5
4
3
2

17

16

1

0

This register contains the IDs of YUV components. Not affected by global reset and JPEG decoder abort.
COMP0_ID The 1st component (Y) ID is extracted from SOF marker.
COMP1_ID The 2nd component (U) ID is extracted from SOF marker.
COMP2_ID The 3rd component (V) ID is extracted from SOF marker.

JPEG+0010h JPEG Decoder Control Register
31

30

29

28

27

26

15

14

13

12

11

10

MT
K

Bit
Name
Type
Bit
Name
Type

25
24
23
22
TOTAL_MCU_NUM[31:16]
R/W
9
8
7
6
TOTAL_MCU_NUM[15:0]
R/W

331/616

TOTAL_MCU_NUM
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register contains the total MCU number in interleaved scan. Note that if the MCU number is N, program (N-1)
into this register. Not affected by global reset and JPEG decoder abort.

INTLV_MCU_NUM_
PER_MCU_ROW

JPEG+0014h JPEG Decoder Control Register
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

21

20

Re
lea
se

30

15

14

29

28

13
12
DUMMY_DU
R/W

27

26

25

11

10

9

24

17

16

1

0

Not affected by global reset and JPEG decoder

COMP0_NONINTLV
_DU_NUM_PER_M
CU_ROW

JPEG+0018h JPEG Decoder Control Register
31

18

7
6
5
4
3
2
INTLV_MCU_NUM_PER_MCU_ROW[9:0]
R/W

This register contains the MCU number per row in interleaved scan.
abort.

Bit
Name
Type
Bit
Name
Type

19

fo
r

Bit
Name
Type
Bit
Name
Type

23

22

21

20

19

18

17

8
7
6
5
4
3
2
1
COMP0_NONINTLV_MCU_NUM_PER_MCU_ROW[9:0]
R/W

16

0

Co
nf
id
en
tia
l

This register contains the MCU number per row in non-interleaved scan of the 1st component (Y). Not affected by
global reset and JPEG decoder abort. Note that COMP0_NONINTLV_MCU_NUM_PER_MCU_ROW includes the
number of DUMMY_DU if any.

MT
K

DUMMY_DU Dummy data unit number in non-interleaved scan of the 1st component
00 no dummy data unit
01 one dummy data unit
10 two dummy data units
11 three dummy data units
COMP0_NONINTLV_MCU_NUM_PER_MCU_ROW The MCU number per row in non-interleaved scan of the
1st component (Y).
In progressive image, dummy data unit columns are inevitable if more than 8 redundant pixel columns are transmitted
to fill up the last MCU in a MCU row. For example, in 422 format, a MCU is composed of 16 x 16 pixels. If a
given image size is 355 x 400, for JPEG encoder to compress, the image grows to 368 x 400 first such that both width
and height are multiples of 16. It can be seen that to be divisible by 16, there are 13 redundant Y-component pixels in
the horizontal (width) direction. These 13 Y-component pixels are compressed by encoders in interleaved scans
because a complete MCU needs 16x16 pixels. It is different from non-interleaved scans, because in non-interleaved
scans a complete MCU only needs 8x8 Y-component pixels. Therefore, among the 13 redundant pixels the first 5 are
still compressed as interleaved scans while the last 8 are dropped. In this case, software must program the
DUMMY_DU field to 1 so the hardware knows one 8x8 data unit should be skipped at the last of a MCU row in
non-interleaved scan.

332/616

MediaTek Inc. Confidential

COMP1_NONINTLV
_DU_NUM_PER_M
CU_ROW

JPEG+001Ch JPEG Decoder Control Register
31

30

15

14

29

28

13
12
DUMMY_DU
R/W

27

26

25

11

10

9

24

23

22

21

20

19

18

17

8
7
6
5
4
3
2
1
COMP1_NONINTLV_MCU_NUM_PER_MCU_ROW[9:0]
R/W

16

0

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register contains the MCU number per row in non-interleaved scan of the 2nd component (Y). Not affected by
global reset and JPEG decoder abort. Note that COMP1_NONINTLV_MCU_NUM_PER_MCU_ROW includes the
number of DUMMY_DU if any.

Re
lea
se

DUMMY_DU Dummy data unit number in non-interleaved scan of the 2nd component
00 no dummy data unit
01 one dummy data unit
10 two dummy data units
11 three dummy data units
COMP1_NONINTLV_MCU_NUM_PER_MCU_ROW The MCU number per row in non-interleaved scan of the
2nd component (U).

COMP2_NONINTLV
_DU_NUM_PER_M
CU_ROW

JPEG+0020h JPEG Decoder Control Register
31

30

15

14

29

28

27

26

25

24

23

22

21

20

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

13
12
DUMMY_DU
R/W

11

10

9

19

18

17

8
7
6
5
4
3
2
1
COMP2_NONINTLV_MCU_NUM_PER_MCU_ROW[9:0]
R/W

16

0

This register contains the MCU number per row in non-interleaved scan of the 3rd component (V). Not affected by
global reset and JPEG decoder abort. Note that COMP2_NONINTLV_MCU_NUM_PER_MCU_ROW includes the
number of DUMMY_DU if any.
DUMMY_DU Dummy data unit number in non-interleaved scan of the 3rd component
00 no dummy data unit
01 one dummy data unit
10 two dummy data units
11 three dummy data units
COMP2_NONINTLV_MCU_NUM_PER_MCU_ROW The MCU number per row in non-interleaved scan of the
3rd component (V).

COMP0_DATA_UNI
T_NUM

JPEG+0024h JPEG Decoder Control Register
31

30

29

28

27

15

14

13

12

11

MT
K

Bit
Name
Type
Bit
Name
Type

26
25
24
23
22
21
COMP0_DATA_UNIT_NUM[31:16]
R/W
10
9
8
7
6
5
COMP0_DATA_UNIT_NUM[15:0]
R/W

333/616

20

19

18

17

16

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register contains the 8x8 data unit number of the 1st component in non-interleaved scans. Note that if the data
unit number is N, program (N-1) into this register. Not affected by global reset and JPEG decoder abort.

COMP1_DATA_UNI
T_NUM

JPEG+0028h JPEG Decoder Control Register
31

30

29

28

27

15

14

13

12

11

26
25
24
23
22
21
COMP1_DATA_UNIT_NUM[31:16]
R/W
10
9
8
7
6
5
COMP1_DATA_UNIT_NUM[15:0]
R/W

20

19

18

4

3

2

17

16

1

0

fo
r

Bit
Name
Type
Bit
Name
Type

Re
lea
se

This register contains the 8x8 data unit number of the 2nd component in non-interleaved frame. Note that if the data
unit number is N, program (N-1) into this register. Not affected by global reset and JPEG decoder abort.

COMP2_DATA_UNI
T_NUM

JPEG+002Ch JPEG Decoder Control Register
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

15

14

13

12

11

26
25
24
23
22
21
COMP2_DATA_UNIT_NUM[31:16]
R/W
10
9
8
7
6
5
COMP2_DATA_UNIT_NUM[15:0]
R/W

20

19

18

17

16

4

3

2

1

0

Co
nf
id
en
tia
l

This register contains the 8x8 data unit number of the 3rd component in non-interleaved frame. Note that if the data unit
number is N, program (N-1) into this register. Not affected by global reset and JPEG decoder abort.

JPEG+0030h JPEG Decoder Control Register
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

13

12

27
26
25
24
23
22
21
20
COMP0_PROGR_COEFF_START_ADDR[31:16]
R/W
11
10
9
8
7
6
5
4
COMP0_PROGR_COEFF_START_ADDR[15:0]
R/W

COMP0_PROGR_C
OEFF_START_ADD
R
19

18

17

16

3

2

1

0

This register contains the starting address of the memory space storing the intermediate progressive coefficients of the
1st component. This value must be a multiple of 4. Not affected by global reset and JPEG decoder abort.

JPEG+0034h JPEG Decoder Control Register
31

30

15

14

29

28

13

12

MT
K

Bit
Name
Type
Bit
Name
Type

27
26
25
24
23
22
21
20
COMP1_PROGR_COEFF_START_ADDR[31:16]
R/W
11
10
9
8
7
6
5
4
COMP1_PROGR_COEFF_START_ADDR[15:0]
R/W

COMP1_PROGR_C
OEFF_START_ADD
R
19

18

17

16

3

2

1

0

This register contains the starting address of the memory space storing the intermediate progressive coefficients of the
2nd component. This value must be a multiple of 4. Not affected by global reset and JPEG decoder abort.
334/616

MediaTek Inc. Confidential

Bit
Name
Type
Bit
Name
Type

31

30

29

28

15

14

13

12

27
26
25
24
23
22
21
20
COMP2_PROGR_COEFF_START_ADDR[31:16]
R/W
11
10
9
8
7
6
5
4
COMP2_PROGR_COEFF_START_ADDR[15:0]
R/W

COMP2_PROGR_C
OEFF_START_ADD
R
19

18

3

2

17

16

1

0

fo
r

JPEG+0038h JPEG Decoder Control Register

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register contains the starting address of the memory space storing the intermediate progressive coefficients of the
3rd component. This value must be a multiple of 4. Not affected by global reset and JPEG decoder abort.

JPEG+003Ch JPEG Decoder Control Register
31

Name
Type
Bit
Name
Type

15

30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
JPEG
_MOD
DU9[2:0]
DU8[2:0]
DU7[2:0]
DU6[2:0]
DU5[2:0]
E
R/W
R/W
R/W
R/W
R/W
R/W
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DU4[2:0]
DU3[2:0]
DU2[2:0]
DU1[2:0]
DU0[2:0]
R/W
R/W
R/W
R/W
R/W

Re
lea
se

Bit

JPEG_CTRL

This register contains 2 information: the operating mode of JPEG decoder and the order of 3 components in a MCU.
Affected by global reset and JPEG decoder abort. Need reprogramming for multiple runs of progressive images.

MT
K

Co
nf
id
en
tia
l

JPEG_MODE The operating mode of JPEG decoder.
0 Baseline mode
1 Progressive mode
DU9
The 10th data unit component category in a MCU
100 The 10th data unit is the 1st component (Y)
101 The 10th data unit is the 2nd component (U)
110 The 10th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
th
DU8
The 9 data unit component category in a MCU
100 The 9th data unit is the 1st component (Y)
101 The 9th data unit is the 2nd component (U)
110 The 9th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
th
DU7
The 8 data unit component category in a MCU
100 The 8th data unit is the 1st component (Y)
101 The 8th data unit is the 2nd component (U)
110 The 8th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
DU6
The 7th data unit component category in a MCU
100 The 7th data unit is the 1st component (Y)
101 The 7th data unit is the 2nd component (U)
110 The 7th data unit is the 3rd component (V)

335/616

MediaTek Inc. Confidential

DU3

DU2

DU1

DU0

fo
r
Re
lea
se

DU4

Co
nf
id
en
tia
l

DU5

111 Not used in current frame
000-011
Invalid
The 6th data unit component category in a MCU
100 The 6th data unit is the 1st component (Y)
101 The 6th data unit is the 2nd component (U)
110 The 6th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
The 5th data unit component category in a MCU
100 The 5th data unit is the 1st component (Y)
101 The 5th data unit is the 2nd component (U)
110 The 5th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
th
The 4 data unit component category in a MCU
100 The 4th data unit is the 1st component (Y)
101 The 4th data unit is the 2nd component (U)
110 The 4th data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
rd
The 3 data unit component category in a MCU
100 The 3rd data unit is the 1st component (Y)
101 The 3rd data unit is the 2nd component (U)
110 The 3rd data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
The 2nd data unit component category in a MCU
100 The 2nd data unit is the 1st component (Y)
101 The 2nd data unit is the 2nd component (U)
110 The 2nd data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid
The 1st data unit component category in a MCU
100 The 1st data unit is the 1st component (Y)
101 The 1st data unit is the 2nd component (U)
110 The 1st data unit is the 3rd component (V)
111 Not used in current frame
000-011
Invalid

JPEG+0040h JPEG Decoder Control Register
31

30

15

14

29

28

27

26

25

24

13

12

11

10

9

8

JPEG_DEC_TRIG

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

WO

MT
K

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

WO

JPEG_DEC_TRIG triggers JPEG decoding operation no matter what value is programmed.

336/616

MediaTek Inc. Confidential

JPEG_DEC_ABOR
T

JPEG+0044h JPEG Decoder Control Register
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

WO

WO

fo
r

JPEG_DEC_ABORT aborts JPEG decoding operation and reset JPEG decoder hardware no matter what value is
programmed.

JPEG+0048h JPEG Decoder Control Register
31

30

29

28

27

26

15

14

13

12

11

10

JPEG_FILE_BRP

25
24
23
22
JPEG_FILE_BRP[31:16]
R/W
9
8
7
6
JPEG_FILE_BRP[15:0]
R/W

21

20

19

Re
lea
se

Bit
Name
Type
Bit
Name
Type

5

4

3

18

17

16

2

1

0

JPEG_DEC_BRP stands for a 32-bit byte breakpoint address that hardware stalls once the breakpoint address is
encountered. This control register provides a solution for software to swap internal memory content with external
memory in case the JPEG source file is too big for internal memory to store at one time. A breakpoint interrupt fires
when hardware DMA address hits the breakpoint address. Note that the breakpoint address must be a multiple of 4.
Not affected by global reset and JPEG decoder abort.

JPEG_FILE_TOTA
L_SIZE

Bit
Name
Type
Bit
Name
Type

31

30

15

14

Co
nf
id
en
tia
l

JPEG+004Ch JPEG Decoder Control Register
29

28

27

13

12

11

26
25
24
23
22
21
JPEG_FILE_TOTAL_SIZE[31:16]
R/W
10
9
8
7
6
5
JPEG_FILE_TOTAL_SIZE[15:0]
R/W

20

19

18

17

16

4

3

2

1

0

JPEG_FILE_TOTAL_SIZE represents the JPEG source file size in bytes. Hardware fires a file overflow interrupt and
stall if the DMA address equals to this address.
Note that the breakpoint address must be a multiple of 4. If the file size is not divisible by 4, increment the size value
until it is. Not affected by global reset and JPEG decoder abort.

INTLV_FIRST_MC
U_INDEX

JPEG+0050h JPEG Decoder Control Register
Bit

31

30

15

14

Name

28

27

26

21

20

13

12

11

10
9
8
7
6
5
INTLV_FIRST_MCU_INDEX[15:0]
R/W

4

MT
K

Type
Bit
Name
Type

29

25

24

23

337/616

22

19
18
17
16
INTLV_FIRST_MCU_IND
EX[19:16]
R/W
3
2
1
0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This control register specifies the first MCU index that hardware processes in the interleaved scans of the current image.
The JPEG decoder is able to skip certain MCUs by defining the first and last MCU index. Not affected by global reset
and JPEG decoder abort.

INTLV_LAST_MC
U_INDEX

Bit

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10
9
8
7
6
5
INTLV_LAST_MCU_INDEX[15:0]
R/W

4

Name
Type
Bit
Name
Type

19
18
17
16
INTLV_LAST_MCU_IND
EX[19:16]
R/W
3
2
1
0

fo
r

JPEG+0054h JPEG Decoder Control Register

Re
lea
se

This control register specifies the last MCU index that hardware processes in the interleaved scans of the current image.
The JPEG decoder is able to skip certain MCUs by defining the first and last MCU index. Not affected by global reset
and JPEG decoder abort.

COMP0_FIRST_M
CU_INDEX

JPEG+0058h JPEG Decoder Control Register
Bit

31

30

29

28

27

26

25

24

21

20

15

14

13

12

11

10
9
8
7
6
5
COMP0_FIRST_MCU_INDEX[15:0]
R/W

4

Name
Type
Bit
Name
Type

23

22

19
18
17
16
COMP0_FIRST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

Co
nf
id
en
tia
l

Only effective in progressive images. This control register specifies the first MCU index that hardware processes in
the non-interleaved scans containing Y component of the current image. The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

COMP0_LAST_M
CU_INDEX

JPEG+005Ch JPEG Decoder Control Register
Bit

31

30

15

14

Name
Type
Bit
Name
Type

29

28

27

26

25

24

23

22

21

20

13

12

11

10
9
8
7
6
5
COMP0_LAST_MCU_INDEX[15:0]
R/W

4

19
18
17
16
COMP0_LAST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

Only effective in progressive images. This control register specifies the last MCU index that hardware processes in
the non-interleaved scans containing Y component of the current image. The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

COMP1_FIRST_M
CU_INDEX

MT
K

JPEG+0060h JPEG Decoder Control Register
Bit

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

Name
Type
Bit

338/616

19
18
17
16
COMP1_FIRST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

MediaTek Inc. Confidential

Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
COMP1_FIRST_MCU_INDEX[15:0]
R/W

Only effective in progressive images. This control register specifies the first MCU index that hardware processes in
the non-interleaved scans containing U component of the current image. The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

Bit

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10
9
8
7
6
5
COMP1_LAST_MCU_INDEX[15:0]
R/W

4

Type
Bit
Name
Type

19
18
17
16
COMP1_LAST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

Re
lea
se

Name

fo
r

COMP1_LAST_M
CU_INDEX

JPEG+0064h JPEG Decoder Control Register

Only effective in progressive images. This control register specifies the last MCU index that hardware processes in
the non-interleaved scans containing U component of the current image. The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

COMP2_FIRST_M
CU_INDEX

JPEG+0068h JPEG Decoder Control Register
Bit

31

30

29

28

27

26

25

24

21

20

15

14

13

12

11

10
9
8
7
6
5
COMP2_FIRST_MCU_INDEX[15:0]
R/W

4

Type
Bit
Name
Type

Co
nf
id
en
tia
l

Name

23

22

19
18
17
16
COMP2_FIRST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

Only effective in progressive images. This control register specifies the first MCU index that hardware processes in
the non-interleaved scans containing V component of the current image. The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

COMP2_LAST_M
CU_INDEX

JPEG+006Ch JPEG Decoder Control Register
Bit

31

30

15

14

Name
Type
Bit
Name
Type

29

28

27

26

25

24

23

22

21

20

13

12

11

10
9
8
7
6
5
COMP2_LAST_MCU_INDEX[15:0]
R/W

4

19
18
17
16
COMP2_LAST_MCU_IN
DEX[19:16]
R/W
3
2
1
0

MT
K

Only effective in progressive images. This control register specifies the last MCU index that hardware processes in the
non-interleaved scans containing V component of the current image.
The JPEG decoder is able to skip certain
MCUs by defining the first and last MCU index. Not affected by global reset and JPEG decoder abort.

JPEG+0070h JPEG Decoder Control Register
Bit
Name
Type

31

30

29

28

27

26

25

24

23

339/616

QT_ID
22

21

20

19

18

17

16

MediaTek Inc. Confidential

Bit
Name
Type

15

14

13

12

11
10
9
8
COMP0_QT_ID[3:0]
R/W

7

6
5
4
COMP1_QT_ID[3:0]
R/W

This register contains the quantization table IDs for YUV components.
abort.

3
2
1
0
COMP2_QT_ID[3:0]
R/W

Not affected by global reset and JPEG decoder

JPEG_DEC_INTE
RRUPT_STATUS

JPEG+0074h JPEG Decoder Control Register
30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

The register reflects the interrupt status.
INT2
INT1
INT0

Set to 1 by file overflow interrupt
Set to 1 by breakpoint interrupt
Set to 1 by end of file interrupt

23

22

21

20

7

6

5

4

31

30

29

28

FOS BRPS EOFS

Type
Bit

15

RO
14

Name

SOS_PARSER_STATE

Type

RO

6.11
6.11.1

26

25

24

23

JPEG_DEC_STATE

22

RO
13

RO
12

11

RO
10
9
8
7
DHT_PARSER_STAT
E
RO

21

20

HUFF_DEC_STATE

Co
nf
id
en
tia
l

Name

27

3

18

17

16

2
1
0
INT2 INT1 INT0
RO
RO
RO

JPEG_DEC_STAT
US

JPEG+0078h JPEG Decoder Control Register
Bit

19

Re
lea
se

31

fo
r

COMP0_QT_ID Quantization table ID of Y component directly extracted from SOF marker
COMP1_QT_ID Quantization table ID of U component directly extracted from SOF marker
COMP2_QT_ID Quantization table ID of V component directly extracted from SOF marker

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

RO
6
5
4
DQT_PARSER_STA
TE
RO

19
18
17
16
MARKER_PARSER_STAT
E
RO
3
2
1
0
DATA_UNIT_STATE
RO

JPEG Encoder

General Descriptions

MT
K

The hardware JPEG encoder implements the baseline mode of Standard ISO/IEC 10918-1. It supports YUV 422 and
420 formats for color pictures and grayscale format. With the software assist and suitable destination memory address
setting, JFIF/EXIF JPEG format can also be supported. For hardware reduction, it uses standard DC and AC Huffman
tables for both the luminance and chrominance components. To adjust the picture compression ratio and picture
quality, there are 4 levels of quantization that can be programmed. After initialization by software, the hardware
JPEG encoder can generate the entire compressed file.
Figure 1 shows the procedure of the JPEG encoder. The YUV pixel data that came from image DMA are grouped
into 8x8 blocks and then down-sampled to YUV 422 and YUV420 format. For grayscale encoding, only Y
component is present. When encoding, the first thing to do is to turn the pixel data into the frequency domain using
FDCT. After the quantizer is done, the quantized DCT coefficients are encoded by RLE and VLC.

340/616

MediaTek Inc. Confidential

8 x 8 blocks

Quantizer

FDCT

RLE/VLC

Table specifications

Table specifications

Register Definitions

JPEG = 0x8060_0000
Register Address

Register Function

JPEG + 008Ch

JPEG encoder reset register

Re
lea
se

Figure 1 The procedure of JPEG encoder

fo
r

Compressed image data

YUV image data

6.11.2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Acronym

JPG_ENC_RST
JPG_ENC_CTL

JPEG encoder control register

JPEG encoder interrupt status register

JPG_ENC_INTSTS

JPEG + 0098h

JPEG encoder block count register

JPG_ENC_BLK_CNT

JPEG + 009Ch

JPEG encoder quality register

JPG_ENC_QUALITY

JPEG + 00a0h

JPEG encoder base address register

JPG_ENC_DEST_ADDR

JPEG + 00a4h

JPEG encoder DMA address register

JPG_ENC_DMA_ADDR

JPEG + 00a8h

JPEG encoder STALL address register

JPG_ENC_STALL_ADDR

JPEG encoder frame number register

JPG_ENC_FRAME_NUM

JPEG encoder frame count register

JPG_ENC_FRAME_CNT

JPEG encoder base address2 register

JPG_ENC_DEST_ADDR2

JPEG encoder DMA address2 register

JPG_ENC_DMA_ADDR2

JPEG encoder STALL address2 register

JPG_ENC_STALL_ADDR2

JPEG + 00ach
JPEG + 00b0h
JPEG + 00b4h
JPEG + 00b8h
JPEG + 00bch

Co
nf
id
en
tia
l

JPEG + 0090h
JPEG + 0094h

Table 51 JPEG encoder Registers

JPEG+008ch JPEG encoder reset register
Bit
Name
Type
Reset
Bit
Name

30

15

14

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4
ADDR
_RL
WC
0

3

2

1

0
RST
R/W
0

MT
K

Type
Reset

31

JPG_ENC_RST

RST
Reset the JPEG encoder.
ADDR_RL DMA address reload only for the stall condition. In other condition, this bit cannot be set. This is a
Write-Clear register. This register must be set once after the stall destination address is reconfigured in
the stall condition.

341/616

MediaTek Inc. Confidential

Bit
Name
Type
Reset
Bit

JPEG encoder control register

JPG_ENC_CTL

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

Name
Type
Reset

22

21

20

6
5
4
ADDR
CONT JPG
_SW
R/W R/W R/W
0
0
0

EN
GRAY

19

18

3

2

YUV

IT

R/W
0

R/W
1

17

16

1

0

GRAY EN
R/W
0

fo
r

JPEG+0090h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

JPEG+0094h
Bit
Name
Type
Reset
Bit

Co
nf
id
en
tia
l

Re
lea
se

Enable the JPEG encoder. This bit is cleared by hardware after encoding is done.
Do grayscale encode. Remember that the image DMA should be programmed as grayscale too.
0 color
1 grayscale
IT
Interrupt enabling
0 Disable
1 Enable
YUV
YUV format
0 YUV 422
1 YUV 420
JPG
JPEG or other application format support
0 JPEG
1 JFIF/EXIF
CONT
JPEG continuous shooting
0 OFF
1 ON
ADDR_SW JPEG destination address switch in continuous shooting mode
0 OFF, destination address accumulates
1 ON, destination address switches between JPG_ENC_DEST_ADDR and JPG_ENC_DEST_ADDR2.

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

Name
Type
Reset

DONE
STALL

JPEG+0098h
Bit

31

21

20

5
4
STAL STAL
L2
L1
RO
RO
0
0

19

18

3

2

17

16

1
0
STAL
DONE
L
RO
RC
0
0

Indicates that encoding operation is done. This is a Read-Clear bits.
Indicates that encoding operation is in the stall condition. This bit is not cleared until the stall condition
is cleared and reload bit is set.
Indicates that the current stall condition is caused by DMA_ADDR and STALL_ADDR.
Indicates that the current stall condition is caused by DMA_ADDR2 and STALL_ADDR2.

MT
K

STALL1
STALL2

JPG_ENC_INTS
TS

JPEG encoder interrupt status register

30

JPG_ENC_BLK
_CNT

JPEG block count register
29

28

27

26

25

24

23

342/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8
7
BLK_CNT
RO
0

6

5

4

3

2

BLK_CNT Block count has been encoded.

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

QUALITY
01

19

18

17

16

3

2

1
0
QUALITY
R/W
00

Encode quality.
00 Low quality (quality factor =50), 15~20 times compression ratio.
Fair quality (quality factor =75) , 10~15 times compression ratio
10 Good quality (quality factor =90), 6~10 times compression ratio
11 High quality (quality factor =95), 4~6 times compression ratio

JPEG+00a0h

JPG_ENC_DEST_
ADDR

JPEG encoder base address register

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
BS_ADDR[31:16]
R/W
0
9
8
7
6
BS_ADDR[15:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

JPG_ENC_QUALIT
Y

JPEG encoder quality register

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

fo
r

JPEG+009ch

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

21

20

19

18

17

16

5

4

3

2

1

0

BS_ADDR Base address of encoded data.

JPEG+00a4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

JPG_ENC_CURR_
ADDR

JPEG encoder current address register

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
DMA_ADDR[31:16]
RO
0
9
8
7
6
DMA_ADDR[15:0]
RO
0

21

20

19

18

17

16

5

4

3

2

1

0

MT
K

CURR_ADDR The current DMA address during encoding.

JPEG+00a8h
Bit

31

30

JPG_ENC_STALL_
ADDR

JPEG encoder STALL address register
29

28

27

26

25

24

23

343/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

STALL_ADDR[31:16]
R/W
0
9
8
7
6
STALL_ADDR[15:0]
R/W
0

5

4

3

2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

0

JPEG+00ach
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

FRAME_NUM

22

21

20

7

6

5

4

19

18

3
2
FRAME_NUM
R/W
0

JPEG encoder continuous shooting current frame
count

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

FRAME_CNT

17

16

1

0

JPG_ENC_CUR
R_FRAME_CNT
19

18

3
2
FRAME_CNT
R/O
0

17

16

1

0

Frame count has been encoded.

JPEG+00b4h

JPG_ENC_DEST_
ADDR2

JPEG encoder 2nd base address register

31

30

29

28

27

26

15

14

13

12

11

10

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

23

Frame number in continuous shooting is encoded

JPEG+00b0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

JPG_ENC_FRA
ME_NUM

JPEG encoder continuous shooting frame number

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

fo
r

STALL_ADDR This field is the upper bound of JPEG encoder’s write-address. Note that the stall address must be
word-aligned. Whenever the stall address is reached, the JPEG encoder stalls and issues an interrupt to software.
After, if the software programs the JPG_ENC_STALL_ADDR to another value, the JPEG encoder resumes the
encoding procedure and automatically use the JPG_ENC_DEST_ADDR as the new starting address. It means that
before we change the value of JPG_ENC_STALL_ADDR, the JPG_ENC_DEST_ADDR has to be programmed to a
corresponding starting address. However, if the software wants to discard the uncompleted file, it can simply reset the
JPEG encoder to cancel the encode operation. Also, it is important that the value of JPG_ENC_STALL_ADDR
should be larger than JPG_ENC_DEST_ADDR by at least 604 bytes to guarantee that the header of the JPEG file can
be completely written into memory.

25
24
23
22
BS_ADDR[31:16]
R/W
0
9
8
7
6
BS_ADDR[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

BS_ADDR Base address of 2nd encoded data.

344/616

MediaTek Inc. Confidential

30

29

28

27

26

15

14

13

12

11

10

21

20

19

18

5

4

3

2

The current DMA address during 2nd encoding.

CURR_ADDR

JPEG+00bch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

25
24
23
22
DMA_ADDR[31:16]
RO
0
9
8
7
6
DMA_ADDR[15:0]
RO
0

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
STALL_ADDR2[31:16]
R/W
0
9
8
7
6
STALL_ADDR2[15:0]
R/W
0

JFIF/EXIF support

1

0

21

20

19

18

17

16

5

4

3

2

1

0

STALL_ADDR2 This field is the upper bound of JPEG encoder’s write-address2.
works in continuous shooting and memory auto-switch mode.

6.11.2.1

16

JPG_ENC_STALL_
ADDR2

JPEG encoder STALL address2 register

31

17

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

JPG_ENC_CURR_
ADDR2

JPEG encoder 2nd current address register

JPEG+00b8h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Note that the stall address2 only

MT
K

Co
nf
id
en
tia
l

In JFIF/EXIF mode, the JPEG encoder does not generate SOI marker and related thumbnail header and small image
data. The JPEG encoder just outputs the bitstreams from DQT marker. The software needs to provide the suitable
destination address after estimating the size of SOI marker, related thumbnail header and small image data. The SOI
marker and related thumbnail header need to be handled by MCU and the small image data can be output by IMGDMA.
With the suitable destination address configuration, the JFIF/EXIF JPEG format can be generated. Figure 2 illustrates
the data partition for JFIF/EXIF support. Before JPEG encoding, three suitable address configurations provides.
The ADDR1 is provided to SOI maker and the thumbnail header. This part is handled by software. The ADDR2 is
provided to IMGDMA to write RGB small image data. The last address, ADDR3, provides to the JPEG encoder to
write out remaining bitstreams.

345/616

MediaTek Inc. Confidential

SOI marker
Thumbnail header
Thumbnail (RGB)

Frame header
Sc an
EOI marker

fo
r

Table misc

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

6.12
6.12.1

GIF Decoder
General Description

Re
lea
se

Figure 2. The JFIF/EXIF data structure.

MT
K

Co
nf
id
en
tia
l

GIF Decoder is aimed to decode GIF images. This hardware-assisted gif decoding alleviates the software from
computation-intensive jobs, and frees the MCU for other jobs. For a handheld device with multimedia functionality,
this kind of hardware acceleration is very beneficial for MCU off loading and achieving high performance. Figure 29
shows the GIF file structure. The GIF decoder is aimed to do LZW decompression, on-the-fly resizing down, clipping
and pitching; header parsing is performed by software.

346/616

MediaTek Inc. Confidential

Global
Screen
Descriptior

Signature GIF
Version 87a 89a

Logical Screen
Width, Height
Global color table, ...

fo
r

Header

R0, 1 byte
G0, 1 byte
B0, 1 byte
R1, 1 byte
G1, 1 byte
B1, 1 byte
...

h01
hF9
hFE
hFF

Extension
Block

Re
lea
se

Global
Color
Table

Plain text extension
:
Graphic control extension :
Comment extension
:
Application extension
:

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Image Block

ImageHeader
Local color
Table
Minimum
code size
Data block 1
Data block 2

Data block n

Co
nf
id
en
tia
l

Terminator
Figure 29 GIF file structure

6.12.2

Register Definitions

GIFDEC+0000
Input File Start Address
h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

29

28

27

13

12

11

INFILE_START_AD
DR

26

25
24
23
22
21
INFILE_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
INFILE_START_ADDR[15:0]
R/W
0

20

19

18

17

16

4

3

2

1

0

INFILE_START_ADDR
The input file starting address. GIF decoder gets decompression data from this address.
The address does not need to be word aligned.

MT
K

GIFDEC+0004
Input File count
h
Bit
Name
Type
Reset

31

30

29

28

27

INFILE_COUNT
26

25
24
23
22
INFILE_COUNT31:16]
R/W
0

347/616

21

20

19

18

17

16

MediaTek Inc. Confidential

15

14

13

INFILE_COUNT

12

11

10

9
8
7
6
INFILE_COUNT15:0]
R/W
0

5

4

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
CT_START_ADDR[31:16]
R/W
0
9
8
7
6
CT_START_ADDR [15:0]
R/W
0

21

20

5

4

19

18

17

16

3

2

1

0

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
CT_END_ADDR[31:16]
R/W
0
9
8
7
6
CT_END_ADDR[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

Co
nf
id
en
tia
l

31

CT_END_ADDR

The color table end address. It needs to be word aligned.

GIFDEC+0010
LZW Decompression Tree Start Address
h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

0

The color table starting address. It needs to be word aligned, and each palette entry is one word.

GIFDEC+000C
Color Table End Address
h

CT_END_ADDR

1

CT_START_AD
DR

Re
lea
se

31

CT_START_ADDR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

2

GIF decoder supports pause-resume mechanism, i.e., gif decoder would stop decompressing
when input file is empty, and wait for notice from software. Input file count is assigned for this
issue. When gif decoder encounters infile count, it will stop and indicate by interrupt.

GIFDEC+0008
Color Table Start Address
h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

3

fo
r

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

29

28

27

13

12

11

TREE_START_
ADDR

26

25
24
23
22
21
TREE_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
TREE_START_ADDR[15:0]
R/W
0

20

19

18

17

16

4

3

2

1

0

TREE_START_ADDR
The LZW decompressing tree starting address. This tree, or called ‘dictionary’, is
essential for LZW decompression. It needs to be word aligned.

MT
K

GIFDEC+0014
LZW Decompression Tree END Address
h
Bit
Name
Type
Reset
Bit
Name

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
TREE_END_ADDR[31:16]
R/W
0
9
8
7
6
TREE_END_ADDR[15:0]
348/616

TREE_END_AD
DR
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Type
Reset

R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

TREE_END_ADDR The LZW decompressing tree end address. The end address is set to prevent gif decoder from
writing the wrong memory sections. When this happens, gif decoder would stop and generates an interrupt to inform
software. It needs to be word aligned.

GIFDEC+0018
LZW Decode Stack Start Address
h
30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
STK_START_ADDR[31:16]
R/W
0
9
8
7
6
STK_START_ADDR[15:0]
R/W
0

21

20

5

4

19

18

17

16

3

2

1

0

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

STK_START_A
DDR

STK_START_ADDR The stack starting address. The stack is for LZW decompression usage. It needs word aligned.

GIFDEC+001C
LZW Decode Stack End Address
h
31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
STK_END_ADDR[31:16]
R/W
0
9
8
7
6
STK_END_ADDR[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

STK_END_ADD
R

STK_END_ADDR
The stack end address. The end address is set to prevent gif decoder from writing the wrong
memory sections. When this happens, gif decoder would stop and generates an interrupt to inform software. It needs to
be word aligned.

GIFDEC+0020
Output File Start Address
h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

29

28

27

13

12

11

26
25
24
23
22
21
OUTFILE_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
OUTFILE_START_ADDR[15:0]
R/W
0

OUTFILE_START_
ADDR
20

19

18

17

16

4

3

2

1

0

OUTFILE_START_ADDR Output file start address. It needs word aligned.

GIFDEC+0024
Output File End Address
h
31

30

29

28

27

15

14

13

12

11

MT
K

Bit
Name
Type
Reset
Bit
Name

OUTFILE_END_AD
DR

26

25
24
23
22
21
OUTFILE_END_ADDR[31:16]
R/W
0
10
9
8
7
6
5
OUTFILE_END_ADDR[15:0]

349/616

20

19

18

17

16

4

3

2

1

0

MediaTek Inc. Confidential

Type
Reset

R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

OUTFILE_END_ADDR
Output file end address. The end address is set to prevent gif decoder from writing the
wrong memory sections. When this happens, gif decoder would stop and generates an interrupt to inform software. It
needs to be word aligned.

GIFDEC+0028
GIF Decompression Enable
h
31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

19

18

17

3

2

1

fo
r

Bit
Name
Type
Reset
Bit

DEC_EN

Type
Reset

DEC_EN

31

30

29

28

27

26

25

24

23

22

BOUNDARY

21

20

19

18

17

16

5

4

3

2

1

0

R
0

15

14

13

12

11

10

9

8

7

6

FILE_BOUNDAARY[15:0]

Co
nf
id
en
tia
l

R
0

Report the file boundary that gif decoder just fetched.

GIFDEC+0030
LZW Min Code Size
h
31

30

15

14

MIN_CODE_SIZE

MIN_CODE_SIZ
E

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2
1
0
MIN_CODE_SIZE
R/W
0

GIF min code size for LZW decompression. Reasonable value is 2-11.

GIFDEC+0034
Interlace Control Register
h

INTERLACE_CT
RL

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

MT
K

Bit
Name
Type
Reset
Bit

R/W
0

FILE_BOUNDAARY[31:16]

BOUNDARY

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0
DEC_
EN

GIF decoder enable signal. And it will de-asserted when decompression finishes.

GIFDEC+002C
GIF File Boundary
h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Re
lea
se

Name

16

16

0
INTER
LACE

Name

350/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Type
Reset

R/W
0

INTERLACE
Interlace enable for GIF decoder.
0
Non-interlaced
1
Interlaced

GIFDEC+0038
Image width and height register
h
30

29

28

27

26

15

14

13

12

11

10

25

24
23
22
IMG_WIDTH[15:0]
R/W
0
9
8
7
6
IMG_HEIGHT[15:0]
R/W
0

IMG_WIDTH Image width.
IMG_HEIGHT Image height.

GIFDEC+003C
Resize control register
h

Name
Type
Reset

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

20

5

4

HT

19

18

17

16

3

2

1

0

RESIZE_CTRL

23

22

21

20

19

18

17

7

6

5

4

3

2

1

RESIZE_H_RATIO

RESIZE_W_RATIO

R/W
0

R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit

21

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IMG_WIDTH_HEIG

16

0
RESIZ
E_EN

R/W
0

MT
K

Since input file for gif decoder might be an interlaced file, the gif decoder cannot perform decompress and resize by
resizer at the same time. Hence, there needs a built-in resizer in gif decoder. There is a drop line and drop pixel sizing
down resizer in gif decoder.
RESIZE_EN
Enable resize on the fly
0: disable
1: enable
RESIZE_W_RATIO Resize ratio in width
0: no resize
1: ½
2: ¼
3: 1/8
4: 1/16
5: 1/32
6: 1/64
7: 1/128
8: 1/256
9: 1/512
10: 1/1024
11: 1/2048

351/616

MediaTek Inc. Confidential

Re
lea
se

fo
r

12: 1/4096
13: 1/8192
14: 1/16384
15: 1/32768
RESIZE_H_RATIO Resize ratio in height
0: no resize
1: ½
2: ¼
3: 1/8
4: 1/16
5: 1/32
6: 1/64
7: 1/128
8: 1/256
9: 1/512
10: 1/1024
11: 1/2048
12: 1/4096
13: 1/8192
14: 1/16384
15: 1/32768

GIFDEC+0040
Transparent Control Register
h
31

30

15

14

Name

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit

13

12

11

10

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

9

8

7

TRANS_CTRL

22

21

20

19

18

6

5

4

3

2

TRANS_CL_KEY

Type
Reset

R/W
0

17

16

1
0
TRAN
TRAN
S_TP
S_EN
YE
R/W R/W
0
0

Since input file for gif decoder might include transparent color key, gif decoder would handle transparent files
according to setting as following.
TRANS_EN
Transparent enable.
0: disable transparent
1: enable transparent
TRANS_TYPE Transparent handling method.
0: replace transparent color as background color.
1: no output when encounter transparent color.
TRANS_CL_KEY
Transparent color key.

MT
K

GIFDEC+0044
Background Color
h
Bit
Name
Type
Reset

31

30

29

28

27

26

BG_COLOR
25

24

23

352/616

22

21

20
19
18
BG_COLOR_B
R/W
0

17

16

MediaTek Inc. Confidential

Bit
Name
Type
Reset

15

14

13

12
11
10
BG_COLOR_G
R/W
0

9

8

7

6

5

4
3
BG_COLOR_R
R/W
0

2

BG_COLOR_R Background R for transparent output.
BG_COLOR_G Background G for transparent output.
BG_COLOR_B Background B for transparent output.

GIFDEC+004C
LCD width and height register
h
30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
LCD_W
R/W
0
8
7
LCD_H
R/W
0

22

21

20

6

5

4

fo
r

31

1

0

LCD_WH

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

To speed up gif display and reduce memory usage, gif decoder supports clipping and pitching function. To support
clipping and pitching, LCD width and height are essential for gif decoder.
LCD_W
LCD width
LCD_H
LCD height

GIFDEC+0050
Clipping window XY register
h
31

30

15

14

29

28

27

26

25

24
23
CLIP_X
R/W
0
8
7
CLIP_Y
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

12

11

10

9

CLIP_XY

22

21

20

19

18

17

16

6

5

4

3

2

1

0

To speed up gif display and reduce memory usage, gif decoder supports clipping and clipping function. To support
clipping and pitching, clipping window-starting point is necessary for gif decoder.
CLIP_X
CLIP_X[15] sign bit: 0: positive 1: negative
CLIP_X[14:0] coordinate X for clipping window
CLIP_Y
CLIP_Y[15] sign bit: 0: positive 1: negative
CLIP_Y[14:0] coordinate Y for clipping window

GIFDEC+0054
Clipping window width and height register
h
31

30

15

14

29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

24
23
CLIP_W
R/W
0
8
7
CLIP_H
R/W
0

353/616

CLIP_WH

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

To speed up gif display and reduce memory usage, gif decoder supports clipping and clipping function. To support
clipping and pitching, clipping window dimension is necessary for gif decoder.
CLIP_W
Clipping window width
CLIP_H
Clipping window height

GIFDEC+0058
Image XY
h
30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
IMG_X
R/W
0
8
7
IMG_Y
R/W
0

22

21

20

6

5

4

19

18

17

fo
r

31

3

2

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IMG_XY

1

16

0

To speed up gif display and reduce memory usage, gif decoder supports clipping and clipping function. To support
clipping and pitching, image-starting point is necessary for gif decoder.
IMG_X
IMG_X[15] sign bit: 0: positive 1: negative
IMG_X[14:0] X for image logic window
IMG_Y
IMG_Y[15] sign bit: 0: positive 1: negative
IMG_Y[14:0] Y for image logic window

GIFDEC+005C
Image offset XY
h
31

30

15

14

29

28

27

26

25

24
23
22
IMG_OFFSET_X
R/W
0
9
8
7
6
IMG_OFFSET_Y
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IMG_OFFSET_X
Y

13

12

11

10

21

20

19

18

17

16

5

4

3

2

1

0

To speed up gif display and reduce memory usage, gif decoder supports clipping and clipping function. To support
clipping and pitching, image starting offset is necessary for gif decoder.
IMG_OFFSET_X
IMG_OFFSET_X[15:0] offset X for image logic window
IMG_OFFSET_Y
IMG_OFFSET_Y[15:0] offset Y for image logic window

GIFDEC+0060
Interrupt Enable Register
h
Bit
Name
Type
Reset
Bit

31

30

15

14

29

28

27

26

25

24

23

13

12

11

10

9

8

7

MT
K

Name
Type
Reset

IMG_CMP
INEMPTY

IRQ_EN
22

21

20

19

18

17

16

6
5
4
3
2
1
0
TREE
STAC
TREE
OUTF INEM IMG_C
ERRO
KFUL PIXEL
FULL
ULL PTY MP
R
L
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

Image decompressed complete interrupt enable.
Input file empty interrupt enable.
354/616

MediaTek Inc. Confidential

OUTFULL
PIXEL
STACKFULL
TREEFULL
TREEERROR

Output file full interrupt enable.
Pixel output num error interrupt enable.
Stack output full interrupt enable.
Tree full interrupt enable.
Decompression error interrupt enable.

GIFDEC+0064
Interrupt Status
h

IRQ_STATUS

31

30

29

28

27

26

25

24

23

15

14

13

12

11

10

9

8

7

Type
Reset

IMG_CMP
INEMPTY
OUTFULL
PIXEL
STACKFULL
TREEFULL
TREEERROR

Image decompressed complete interrupt.
Input file empty interrupt.
Output file full interrupt.
Pixel output num errors interrupt.
Stack output full interrupt.
Tree full interrupt.
Decompression error interrupt.

GIFDEC+0068
GIF Reset
h
31

30

15

14

RST

20

19

29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8

7

6

5

4

3

2

1

16

16

0
RST

R/W
0

Reset for GIF decoder. Write 0x1201, then hardware will reset itself.

31

30

15

14

OUT_FORMAT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
PACK
_INDE
X
R/W
0

7

6

5

4

3

2

1

0

MT
K

Name
Type
Reset

17

RST

GIFDEC+006C
Color Output Format
h
Bit
Name
Type
Reset
Bit

18

6
5
4
3
2
1
0
TREE
STAC
OUTF INRM IMG_C
TREE
ERRO
KFUL PIXEL
ULL PTY MP
FULL
R
L
R
R
R
R
R
R
R
0
0
0
0
0
0
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

21

Re
lea
se

Name

22

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

PACK_INDEX_DEPTH
R/W
‘b1000

PARTI
AL

OUT_FORMA
T

R/W
0

OUT_FORMAT To support different applications, gif decoder output data as rgb565, rgb888 and color index mode.
2’b00: RGB565

355/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

fo
r

2’b01: RGB888
2’b10: Index
PARTIAL
To reduce memory usage, gif decoder support pause-resume mechanism when input file is empty
according setting as blow.
1: enable partial input, i.e. pause-resume mechanism.
0: disable partial input, i.e. pause-resume mechanism.
PACK_INDEX To reduce memory usage, gif decoder support pack index when output format is Index mode.
1: enable pack index
0: disable pack index
PACK_INDEX_DEPTH
pack index depth, 1, 2, 4, 8

GIFDEC+0074
Pack width resize
h
31

15

30

29

28

27

14
13
12
11
PACK_RESIZE_W_N [5:0]
R/W
0

26
25
24
23
PACK_RESIZE_W_D
R/W
0
10
9
8
7

22

21

20

19
18
17
16
PACK_RESIZE_W_N [9:6]
R/W
0
6
5
4
3
2
1
0
PACK_RESIZE_W_Q
R/W
0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

PACK_RESIZE_
W

When in packing index mode, the resizer is different. The resize width ratio doesn’t need to be an integer. Resize ratio =
PACK_RESIZE_W_Q + (PACK_RESIZE_W_N / PACK_RESIZE_W_D)

GIFDEC+0078
Pack height resize
h
31

15

30

29

28

27

26
25
24
23
PACK_RESIZE_H_D
R/W
0
10
9
8
7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

PACK_RESIZE_
H

14
13
12
11
PACK_RESIZE_H_N [5:0]
R/W
0

22

21

20

19
18
17
16
PACK_RESIZE_H_N [9:6]
R/W
0
6
5
4
3
2
1
0
PACK_RESIZE_H_Q
R/W
0

When in packing index mode, the resizer is different. The resize height ratio doesn’t need to be an integer. Resize ratio
= PACK_RESIZE_H_Q + (PACK_RESIZE_H_N / PACK_RESIZE_H_D)

6.13
6.13.1

PNG Decoder

General Description

MT
K

PNG Decoder is aimed to decode PNG pictures. This hardware-assisted png decoding alleviates the software from
computation-intensive jobs, and frees the MCU for other jobs. For a handheld device with multimedia functionality,
this kind of hardware acceleration is very beneficial for MCU off loading and achieving high performance. The PNG
decoder is aimed to do ZLIB decompression, on-the-fly resizing down, clipping and pitching; header parsing is
performed by software.

356/616

MediaTek Inc. Confidential

Register Definitions

PNGDEC+000
Input File Start Address
0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

29

28

27

15

14

13

12

11

INFILE_START_ADDR

26

25
24
23
22
21
INFILE_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
INFILE_START_ADDR[15:0]
R/W
0

20

19

18

4

3

2

17

16

1

0

fo
r

6.13.2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

INFILE_START_ADDR
The input file starting address; PNG decoder would get decompression data from this
address. The address hasn’t to be word aligned.

PNGDEC+000
Input File count
4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

INFILE_COUNT

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
INFILE_COUNT31:16]
R/W
0
9
8
7
6
INFILE_COUNT15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

Co
nf
id
en
tia
l

INFILE_COUNT
PNG decoder supports pause-resume mechanism, i.e., png decoder would stop decompressing
when input file is empty, and wait for notice from software. Input file count is assigned for this issue. When png
decoder encounters infile count, it will stop and indicate by interrupt.

PNGDEC+000
Color Table Start Address
8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CT_START_ADDR
word.

29

28

27

26

13

12

11

10

25
24
23
22
CT_START_ADDR[31:16]
R/W
0
9
8
7
6
CT_START_ADDR [15:0]
R/W
0

CT_START_ADDR
21

20

19

18

17

16

5

4

3

2

1

0

The color table starting address. It needs to be word aligned. And each palette entry is one

PNGDEC+001
Output File Start Address
0h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28

27

12

11

26

25
24
23
22
OUT_START_ADDR[31:16]
R/W
0
10
9
8
7
6
OUT_START_ADDR[15:0]
R/W
0

357/616

OUT_START_ADDR
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

OUT_START_ADDR Output file start address. It needs to be word aligned.

PNGDEC+001
Output file End Address
4h
31

30

29

28

27

26

15

14

13

12

11

10

OUT_END_ADDR

OUT_END_ADDR

25
24
23
22
OUT_END_ADDR[31:16]
R/W
0
9
8
7
6
OUT_END_ADDR[15:0]
R/W
0

21

20

19

18

5

4

3

2

Output file end address. It needs to be word aligned.

PNGDEC+001
Huffman HCLEN Table Start Address
8h
31

30

29

28

27

15

14

13

12

11

HCLEN_START_ADDR

26

25
24
23
22
21
HCLEN_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
HCLEN_START_ADDR[15:0]
R/W
0

30

15

14

0

19

18

17

16

4

3

2

1

0

Huffman code length code table starting address. It needs to be word aligned.

Co
nf
id
en
tia
l

31

1

20

PNGDEC+002
Huffman code length Start Address
0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

16

HCELN_START_ADDR

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

29

28

27

26

13

12

11

10

25
24
23
22
LEN_START_ADDR[31:16]
R/W
0
9
8
7
6
LEN_START_ADDR[15:0]
R/W
0

LEN_START_ADDR
21

20

19

18

17

16

5

4

3

2

1

0

LEN_START_ADDR Huffman code length starting address. It needs to be word aligned.

PNGDEC+002
Huffman HLIT Table Start Address
8h
31

30

15

14

29

28

27

13

12

11

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

25
24
23
22
HLIT_START_ADDR[31:16]
R/W
0
10
9
8
7
6
HLIT_START_ADDR[15:0]
R/W
0

HLIT_START_ADD
R
21

20

19

18

17

16

5

4

3

2

1

0

HLIT_START_ADDE Huffman literal code table starting address. It needs to be word aligned.

358/616

MediaTek Inc. Confidential

PNGDEC+003
Huffman HDIST Table Start Address
0h
31

30

29

28

27

15

14

13

12

11

HDIST_START_ADD
R

26

25
24
23
22
21
HDIST_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5

20

19

18

4

3

2

HDIST_START_ADDR[15:0]

R/W
0

HDIST_START_ADDR

30

29

28

27

15

14

13

12

11

26

25
24
23
22
21
BUFF0_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5

0

20

19

18

17

16

4

3

2

1

0

BUFF0_START_ADDR[15:0]

R/W
0

Line buffer0 starting address (for de-filtering). It needs to be word aligned.

PNGDEC+004
Line Buffer1 Start Address
0h
30

15

14

29

28

27

BUFF1_START_ADD
R

26

25
24
23
22
21
BUFF1_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
BUFF1_START_ADDR[15:0]
R/W
0

Co
nf
id
en
tia
l

31

13

BUFF1_START_ADDR

12

11

20

19

18

17

16

4

3

2

1

0

Line buffer1 starting address (for de-filtering). It needs to be word aligned.

PNGDEC+004
LZ77 Buffer Start Address
8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

BUFF0_START_ADD
R

Re
lea
se

31

BUFF0_START_ADDR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

16

Huffman distance code table starting address. It needs to be word aligned.

PNGDEC+003
Line Buffer0 Start Address
8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

15

14

29

28

27

13

12

11

LZ77_START_ADDR

26

25
24
23
22
21
LZ77_START_ADDR[31:16]
R/W
0
10
9
8
7
6
5
LZ77_START_ADDR[15:0]
R/W
0

20

19

18

17

16

4

3

2

1

0

MT
K

LZ77_START_ADDRLZ77 buffer starting address. It needs to be word aligned.

PNGDEC+005
Color_Type
0h
Bit
Name

31

30

29

28

27

COLOR_TYPE
26

25

24

23

359/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

6
5
4
COLOR_DEPTH[4:0]
R/W
0

PNGDEC+005
IMG_WIDTH_HEIGHT
4h
31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
IMG_WIDTH[15:0]
R/W
0
9
8
7
6
IMG_HEIGHT[15:0]
R/W
0

21

20

19

18

17

16

5

4

3

2

1

0

30

15

14

Name
Type
Reset

Co
nf
id
en
tia
l

PNGDEC+005
Decode Control Register
8h
31

0

IMG_WIDTH_HEIGHT

IMG_WIDTH Image width.
IMG_HEIGHT Image height.

Bit
Name
Type
Reset
Bit

1

R/W
0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

2

COLOR_TYPE[2:0]

fo
r

COLOR_TYPE Indicate color type of PNG image.
0: greyscale
2: true color
3: palette
4: greyscale with alpha
6: true color with alpha
COLOR_DEPTH Indicate color bit depth of PNG image.

3

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

DECODE_CTRL

29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8

7

6

5

4

3

2

1

16

0
DECO
DE_E
N

R/W
0

DECODE_EN Decode enable signal.

PNGDEC+005
Interlace Enable Register
Ch
31

30

15

14

29

28

27

26

25

24

23

22

21

20

19

18

17

13

12

11

10

9

8

7

6

5

4

3

2

1

MT
K

Bit
Name
Type
Reset
Bit

INTERLACE_EN
16

0
INTER
LACE_
EN

Name
Type
Reset

R/W
0

360/616

MediaTek Inc. Confidential

INTERLACE_EN

Interlace enable signal.

PNGDEC+006
ADLER_ADDR
0h

ALER_ADDR

30

29

28

27

26

25

15

14

13

12

11

10

9

ADLER

24
23
22
ADLER[31:16]
R/W
0
8
7
6
ADLER[15:0]
R/W
0

20

19

18

5

4

3

2

Adler checksum data report.

PNGDEC+006
LCD Width Height Register
8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

21

31

30

29

28

27

26

25

15

14

13

12

11

10

9

LCD_W
LCD_H

24
23
LCD_W[15:0]
R/W
0
8
7
LCD_H[15:0]
R/W
0

LCD width.
LCD height.

30

15

14

CLIP_X

Co
nf
id
en
tia
l

31

29

28

27

26

25

13

12

11

10

9

24
23
CLIP_X
R/W
0
8
7
CLIP_Y
R/W
0

1

0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

CLIP_XY
22

21

20

19

18

17

16

6

5

4

3

2

1

0

CLIP_X[15] sign bit: 0: positive 1: negative
CLIP_X[14:0] X for clipping window
CLIP_Y[15] sign bit: 0: positive 1: negative
CLIP_Y[14:0] Y for clipping window

CLIP_Y

PNGDEC+007
Clipping window width and height register
0h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

16

LCD_WH

PNGDEC+006
Clipping XY
Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

15

14

13

28

27

26

25

12

11

10

9

24
23
CLIP_W
R/W
0
8
7
CLIP_H
R/W
0

361/616

CLIP_WH

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

CLIP_W
CLIP_H

Revision 1.0

Clipping window width
Clipping window height

PNGDEC+007
Image XY
4h

IMG_XY

30

29

28

27

26

25

15

14

13

12

11

10

9

IMG_X

24
23
IMG_X
R/W
0
8
7
IMG_Y
R/W
0

IMG_X[15] sign bit: 0: positive 1: negative
IMG_X[14:0] X for image logic window
IMG_Y[15] sign bit: 0: positive 1: negative
IMG_Y[14:0] Y for image logic window

IMG_Y

PNGDEC+007
PNG Reset
8h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

RST

21

20

19

18

6

5

4

3

2

Name
Type
Reset

16

1

0

RST

22

21

20

19

18

17

7

6

5

4

3

2

1

16

0
RST

R/W
0

Reset for PNG decoder. Write 0x1201, then hardware will reset itself.

PNGDEC+007
Color Output Format
Ch
Bit
Name
Type
Reset
Bit

17

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

22

fo
r

31

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

15

14

OUT_FORMAT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CLIP_ PARTIA
IPP_E
PARTI OUT_FORMA
PITCH L_IRQ_
N
AL
T
_EN CTRL

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MT
K

OUT_FORMAT Output color format
2’b00: RGB565
2’b01: RGB888
2’b10: ARGB4444
2’b11: ARGB8888
PARTIAL 1: enable partial input
0: disable partial input
PARTIAL_IRQ_CTRL 1: The input file empty irq and block count end irq will be sent out according to which case
is encountered first. If the two cases are encountered at the same time, both irqs will be
sent out.
362/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0: Both input file empty irq and block count end irq will be sent out if the left byte number of
the input file and block are smaller than 4 bytes.
CLIP_PITCH_EN
Clip end pitch enable
IPP_EN Enable ipp and png interface

PNGDEC+008
Resize Register
0h
31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

RESIZE_W_RATIO

RESIZE_H_RATIO

Type
Reset

R/W
0

R/W
0

RESIZE_EN

18

17

2

1

16

0
RESIZ
E_EN

R/W
0

MT
K

Co
nf
id
en
tia
l

Resize on the fly enable
0: disable
1: enable
RESIZE_W_RATIO Resize ratio in width
0: no resize
1: ½
2: ¼
3: 1/8
4: 1/16
5: 1/32
6: 1/64
7: 1/128
8: 1/256
9: 1/512
10: 1/1024
11: 1/2048
12: 1/4096
13: 1/8192
14: 1/16384
15: 1/32768
RESIZE_H_RATIO Resize ratio in height
0: no resize
1: ½
2: ¼
3: 1/8
4: 1/16
5: 1/32
6: 1/64
7: 1/128
8: 1/256
9: 1/512
10: 1/1024
11: 1/2048

3

Re
lea
se

Name

19

fo
r

Bit
Name
Type
Reset
Bit

RESIZE

363/616

MediaTek Inc. Confidential

12: 1/4096
13: 1/8192
14: 1/16384
15: 1/32768

PNGDEC+008
Resume Register
4h

RESUME

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

Type
Reset

RESUME

18

17

2

1

16

0
RESU
ME

R/W
0

Resume when infile empty or block count end

PNGDEC+008
Interrupt Enable Register
8h
Bit
Name
Type
Reset
Bit

3

Re
lea
se

Name

19

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

7

6

Type
Reset

Co
nf
id
en
tia
l

Name

21

20

19

IRQ_EN
18

17

16

5
4
3
2
1
0
OVER
COLO
FILTE
_OUT
R_IN BLOC
R_BY
INEM IMG_C
PUT_
DEX_ K_CN
TE_E
PTY MP
ERRO
ERRO T
RROR
R
R
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

IMG_CMP
Image decompressed complete irq enable
INEMPTY
Input file empty
BLOCK_CNT Block count end
COLOR_INDEX_ERROR output index error
FILTER_BYTE_ERROR decoder decode an error filter type
OVER_OUTPUT_ERROR output over out_end_addr

PNGDEC+008
Interrupt Status
Ch
Bit
Name
Type
Reset
Bit

31

30

15

14

IRQ_STATUS

29

28

27

26

25

24

23

22

13

12

11

10

9

8

7

6

MT
K

Name
Type
Reset

364/616

21

20

19

18

17

16

5
4
3
2
1
0
OVER
COLO
FILTE
_OUT
R_IN BLOC
R_BY
INRM IMG_C
PUT_
DEX_ K_CN
TE_E
PTY MP
ERRO
ERRO T
RROR
R
R
R
R
R
R
R
R
0
0
0
0
0
0

MediaTek Inc. Confidential

IMG_CMP
Image decompressed complete irq.
INEMPTY
Input file empty irq
BLOCK_CNT Block count end irq
COLOR_INDEX_ERROR output index error
FILTER_BYTE_ERROR decoder decode an error filter type
OVER_OUTPUT_ERROR output over out_end_addr

PNGDEC+009
IDAT COUNT Register
0h
30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
IDAT_COUNT[31:16]
R/W
0
9
8
7
6
IDAT_COUNT[15:0]
R/W
0

IDAT_COUNT The length (byte number) of the IDAT.

PNGDEC+009
Chunk type
4h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
CHUNK_TYPE
R/W
0
8
7
6
CHUNK_TYPE
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CHUNK_TYPE

21

20

5

4

fo
r

31

IDAT_COUNT
19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CHUNK TYPE

21

20

19

18

17

16

5

4

3

2

1

0

chunk type

PNGDEC+009
CRC
8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CRC

29

28

27

26

25

13

12

11

10

9

24
23
CRC
R
0
8
7
CRC
R
0

CRC
22

21

20

19

18

17

16

6

5

4

3

2

1

0

read out the crc result

PNGDEC+00A
Transparency table start address
0h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

24
23
TRNS_ADDR
R/W
0
8
7
TRNS_ADDR
R/W
365/616

TRNS_ADDR
22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Reset

0

TRAN_ADDR

transparency table staring address.

PNGDEC+00A
TRNS CTRL
4h

TRNS CTRL

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3
TRAN
S_OU
T_SP
EC
R/W
0

2

Name

Re
lea
se

Type
Reset

TRANS_EN
TRANS_OUT

17

16

1

0

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

TRAN TRAN
TRAN
S_TA S_OU
S_EN
BLE
T
R/W
0

R/W
0

R/W
0

Transparent enable
0: output transparent color as background color
1: no output when transparent
TRANS_TABLE
Transparent table exist
TRANS_OUT_SPEC Transparent color key enable

PNGDEC+00A
Transparency key1
8h
31

30

15

14

29

28

27

26

25

24
23
GREY_KEY
R/W
0
8
7
R_KEY
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

12

11

10

9

TRNS_KEY1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

GREY_KEY Transparent color key of grayscale image
R_KEY Transparent color key of red component

PNGDEC+00A
Transparency key2
Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
G_KEY
R/W
0
8
7
B_KEY
R/W
0

TRNS_KEY2
22

21

20

19

18

17

16

6

5

4

3

2

1

0

MT
K

G_KEY Transparent color key of green component
B_KEY Transparent color key of blue component

PNGDEC+00B
Background Color
0h
Bit

31

30

29

28

27

26

BG_COLOR
25

24

23

366/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

15

BG_GREY
BG_R
BG_G
BG_B

14

13

BG_GREY
R/W
0
12
11
BG_G
R/W
0

10

9

8

7

6

background color of grayscale image
background color of red component
background color of green component
background color of blue component

PNGDEC+00B
SPECIAL BLOCK
4h
31

30

15

14

29
28
27
26
SPEC_BLOCK_BYTE3
R/W
0
13
12
11
10
SPEC_BLOCK_BYTE1
R/W
0

2

1

0

SPEC_BLOCK

25

24

9

8

23

22

7

6

21
20
19
18
SPEC_BLOCK_BYTE2
R/W
0
5
4
3
2
SPEC_BLOCK_BYTE0
R/W
0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

5

BG_R
R/W
0
4
3
BG_B
R
0

fo
r

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

17

16

1

0

This register is used for the special case when the length of one IDAT is smaller than or equal to 4 bytes.
SPEC_BLOCK_BYTEx contains the value of byte x of the IDAT.
SPEC_BLOCK_BYTE0 The byte 0 of the IDATSPEC_BLOCK_BYTE1 The byte 1 of the
IDATSPEC_BLOCK_BYTE2 The byte 2 of the IDAT

+00B8h
Bit
31
Name
Type R/W
Reset
0
Bit
15
Name
Type R/W
Reset
0

Co
nf
id
en
tia
l

SPEC_BLOCK_BYTE3 The byte 3 of the IDAT
INDEX NUMBER

30

INDEX_NUM

29

28

27

26

25

24

23

22

R/W
0
14

R/W
0
13

R/W
0
12

R/W
0
11

R/W
0
10

R/W
0
9

8

7

6

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

21
20
19
COLOR_NUM
R/W
0
5
4
3
TRANS_NUM
R/W
0

18

17

16

2

1

0

MT
K

COLOR_NUM color entry number
TRANS_NUM transparency entry number

367/616

MediaTek Inc. Confidential

6.14

Camera Interface

fo
r

IJLK

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Re
lea
se

MT6228 incorporates a feature rich image signal processor to connect with a variety of image sensor components. This
processor consists of timing generated unit (TG) and lens/sensor compensation unit and image process unit.
Timing generated unit (TG) cooperates with master type image sensor only. That means sensor should send vertical and
horizontal signals to TG. TG offers sensor required data clock and receive sensor Bayer pattern raw data by internal
auto synchronization or external pixel clock synchronization. The main purpose of TG is to create data clock for master
type image sensor and accept vertical/horizontal synchronization signal and sensor data, and then generate grabbed area
of raw data or YUV422/RGB565 data to the lens/sensor compensation unit.
Lens/sensor compensation unit generates compensated raw data to the color process unit in Bayer raw data input mode.
In YUV422/RGB565 input mode, this stage is bypassed.

6.14.1

Co
nf
id
en
tia
l

Image process unit accepts Bayer pattern raw data or YUV422/RGB565 data that is generated by lens/sensor
compensation unit. The output of ISP is YCbCr 888 data format which can be easily encoded by the compress engine
(JPEG encoder and MPEG4 encoder). It can be the basic data domain of other data format translation such as R/G/B
domain. The ISP is pipelined, and during processing stages ISP hardware can auto extract meaningful information for
further AE/AF/AWB calculation. These information are temporary stored on ISP registers or memory and can be read
back by MCU.

Register Table

REGISTER ADDRESS REGISTER NAME
CAM + 0000h

SYNONYM

TG Phase Counter Register

CAM_PHSCNT

Image Sensor Size Configuration Register

CAM_CAMWIN

TG Grab Range Start/End Pixel Configuration Register

CAM_GRABCOL

CAM + 000Ch

TG Grab Range Start/End Line Configuration Register

CAM_GRABROW

CAM + 0010h

CMOS Sensor Mode Configuration Register

CAM_CSMODE

Component Offset Adjustment Register

CAM_RGBOFF

View Finder Mode Control Register

CAM_VFCON

CAM + 0004h
CAM + 0008h

CAM + 0014h
CAM + 0018h

Camera Module Interrupt Enable Register

CAM_INTEN

CAM + 0020h

Camera Module Interrupt Status Register

CAM_INTSTA

CAM + 0024h

Camera Module Path Config Register

CAM_PATH

CAM + 0028h

Camera Module Input Address Register

CAM_INADDR

CAM + 002Ch

Camera Module Output Address Register

CAM_OUTADDR

MT
K

CAM + 001Ch

368/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Preprocessing Control Register 1

CAM_CTRL1

CAM + 0034h

Component R,G, B Gain Control Register 1

CAM_RGBGAIN1

CAM + 0038h

Component R,G, B Gain Control Register 2

CAM_RGBGAIN2

CAM + 003Ch

Histogram Boundary Control Register 1

CAM_HIS0

CAM + 0040h

Histogram Boundary Control Register 2

CAM_HIS1

CAM + 0044h

Preprocessing Control Register 2

CAM_CTRL2

CAM + 0048h

Reserved

Reserved

CAM + 004Ch

Reserved

Reserved

CAM + 0050h

Reserved

CAM + 0054h

Reserved

CAM + 0058h

ATF Window 1 Register

CAM + 005Ch

ATF Window 2 Register

CAM_ AEWIN2

CAM + 0060h

ATF Window 3 Register

CAM_ AEWIN3

fo
r

CAM + 0030h

Reserved

Reserved

Re
lea
se

CAM_AEWIN1

CAM + 0064h

ATF Window 4 Register

CAM + 0068h

ATF Window 5 Register

CAM_ AEWIN4

CAM + 006Ch

AWB Window Register

CAM + 0070h

Color Processing Stage Control Register

CAM_CPSCON1

CAM + 0074h

Interpolation Register 1

CAM_INTER1

CAM + 0078h

Interpolation Register 2

CAM + 007Ch

Edge Core Register

CAM + 0080h

Edge Gain Register 1

CAM + 0084h

Edge Gain Register 2

CAM + 0088h

Edge Threshold Register

CAM_ AEWIN5
CAM_AWBWIN

CAM_INTER2
CAM_EDGCORE
CAM_EDGGAIN1
CAM_EDGGAIN2

Co
nf
id
en
tia
l

CAM_EDGTHRE

CAM + 008Ch

Edge Vertical Control Register

CAM_EDGVCON

CAM + 0090h

Axis RGB Gain Register

CAM_AXGAIN

CAM + 0094h

OPD Configuration Register

CAM_OPDCFG

OPD Component Parameter Register

CAM_OPDPAR

CAM + 009Ch

Color Matrix 1 Register

CAM_MATRIX1

CAM + 00A0h

Color Matrix 2 Register

CAM_MATRIX2

CAM + 0098h

Color Matrix 3 Register

CAM_MATRIX3

Color Matrix RGB Gain Register

CAM_MTXGAIN

CAM + 00ACh

Color Process Stage Control Register 2

CAM_CPSCON2

CAM + 00B0h

AWB RGB Gain Register

CAM_AWBGAIN

CAM + 00B4h

Gamma RGB Flare Register

CAM_GAMFLRE

CAM + 00B8h

Y Channel Configuration Register

CAM_YCHAN

CAM + 00BCh

UV Channel Configuration Register

CAM_UVCHAN

CAM + 00C0h

Space Convert YUV Register 1

CAM_SCONV1

CAM + 00C4h

Space Convert YUV Register 2

CAM_SCONV2

CAM + 00C8h

Gamma Operation Register 1

CAM_GAMMA1

CAM + 00CCh

Gamma Operation Register 2

CAM_GAMMA2

CAM + 00D0h

Gamma Operation Register 3

CAM_GAMMA3

CAM + 00D4h

OPD Y Result Register

CAM_OPDY

MT
K

CAM + 00A4h
CAM + 00A8h

369/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
OPD MG Result Register

CAM_OPDMG

OPD RB Result Register

CAM_OPDRB

CAM + 00E0h

OPD Pixel Counter Register

CAM_OPDCNT

CAM + 00E4h

Reserved

Reserved

CAM + 00E8h

Reserved

Reserved

CAM + 00ECh

Reserved

Reserved

CAM + 00F0h

Reserved

Reserved

CAM + 00F4h

ATF Result 1 Register

CAM_AE5RLT

CAM + 00F8h

ATF Result 2 Register

CAM + 00FCh

ATF Result 3 Register

CAM + 0100h

ATF Result 4 Register

fo
r

CAM + 00D8h
CAM + 00DCh

CAM + 0104h

ATF Result 5 Register

CAM_AE9RLT

CAM + 0108h

Cam Histogram Result 1

CAM_HISRLT0

CAM + 010Ch

Cam Histogram Result 2

CAM + 0110h

Cam Histogram Result 3

CAM + 0114h

Cam Histogram Result 4

CAM + 0118h

Cam Histogram Result 5

CAM + 011Ch

Low Pass Filter Control Register

CAM + 0120h

Y Low Pass Filter Control Register

CAM + 0124h

CbCr Low Pass Filter Control Register

CAM_CLPF

CAM + 0128h

Vertical Subsample Control Register

CAM_VSUB

CAM + 012Ch

Horizontal Subsample Control Register

CAM_HSUB

CAM + 0130h

Sensor Gamma R0 Register

CAM_SGAMMAR0

CAM + 0138h

CAM_AE7RLT

Re
lea
se

CAM_AE8RLT

CAM_HISRLT1
CAM_HISRLT2
CAM_HISRLT3
CAM_HISRLT4
CAM_LPFCON

Co
nf
id
en
tia
l

CAM + 0134h

CAM_AE6RLT

CAM_YLPF

Sensor Gamma R1 Register

CAM_SGAMMAR1

Sensor Gamma R2 Register

CAM_SGAMMAR2

CAM + 013Ch

Sensor Gamma G0 Register

CAM_SGAMMAG0

CAM + 0140h

Sensor Gamma G1 Register

CAM_SGAMMAG1

Sensor Gamma G2 Register

CAM_SGAMMAG2

Sensor Gamma B0 Register

CAM_SGAMMAB0

CAM + 0144h
CAM + 0148h

CAM + 014Ch

Sensor Gamma B1 Register

CAM_SGAMMAB1

CAM + 0150h

Sensor Gamma B2 Register

CAM_SGAMMAB2

Defect Pixel Configuration Register

CAM_DEFECT0

Defect Pixel Table Address Register

CAM_DEFECT1

CAM + 015Ch

Defect Pixel Table Debug Register

CAM_DEFECT2

CAM + 0160h

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

CAM + 016Ch

Reserved

Reserved

CAM + 0170h

Reserved

Reserved

CAM + 0174h

Reserved

Reserved

CAM + 0178h

Reserved

Reserved

CAM + 017Ch

Reserved

Reserved

CAM + 0154h
CAM + 0158h

CAM + 0164h

MT
K

CAM + 0168h

370/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
CAM + 0180h

Camera Interface Debug Mode Control Register

CAM + 0184h

Camera Module Debug Information Write Out Destination Address CAM_DSTADDR

CAM_DEBUG

CAM + 0188h

Camera Module Debug Information Last Transfer Destination Address

CAM_LSTADDR

CAM + 018Ch

Camera Module Frame Buffer Transfer Out Count Register

CAM_XFERCNT

CAM + 0190h

CMOS Sensor Test Module Configuration Register 1

CAM_MDLCFG1

CMOS Sensor Test Module Configuration Register 2

CAM_MDLCFG2

Reserved

Reserved

CAM + 019Ch

Reserved

Reserved

CAM + 01A0h

AE Address Register

fo
r

CAM + 0194h
CAM + 0198h

CAM_AEADDR

CAM + 01A4h

AE Window Size Register

CAM + 01A8h

AE Weight 1 Register

CAM + 01ACh

AE Weight 2 Register

CAM_AEWEIGHT1

CAM + 01B0h

AE Weight 3 Register

CAM_AEWEIGHT2

AE Weight 4 Register
AE Weight 5 Register

CAM + 01BCh

AE Weight 6 Register

CAM + 01C0h

AE Weight 7 Register

CAM + 01C4h

AE Weight 8 Register

CAM + 01C8h

AE Area Register

CAM + 01CCh

AutoDefect Control 1 Register

CAM + 01D0h

AutoDefect Control 2 Register
Flash Control Register
Cam Reset Register

CAM_AEWEIGHT3

CAM_AEWEIGHT4
CAM_AEWEIGHT5
CAM_AEWEIGHT6
CAM_AEWEIGHT7
CAM_AEAREA

CAM_AEDEFECT0

CAM_AEDEFECT1

FLASH_CTRL

CAM_RESET

Co
nf
id
en
tia
l

CAM + 01D4h
CAM + 01D8h

Re
lea
se

CAM + 01B4h
CAM + 01B8h

CAM_AESIZE

CAM_AEWEIGHT0

CAM + 01DCh

TG Status Register

TG_STATUS

CAM + 01E0h

Histogram Boundary Control Register 3

CAM_HIS2

CAM + 01E4h

Histogram Boundary Control Register 4

CAM_HIS3

CAM + 01E8h

Histogram Boundary Control Register 5

CAM_HIS4

CAM + 01ECh

Cam Histogram Result 6

CAM_HISRLT5

CAM + 01F0h

Cam Histogram Result 7

CAM_HISRLT6

Cam Histogram Result 8

CAM_HISRLT7

Cam Histogram Result 9

CAM_HISRLT8

CAM + 01FCh

Cam Histogram Result 10

CAM_HISRLT9

CAM + 0200h

Cam Histogram Result 11

CAM_HISRLTA

Cam Histogram Result 12

CAM_HISRLTB

Cam Histogram Result 13

CAM_HISRLTC

CAM + 020Ch

Cam Histogram Result 14

CAM_HISRLTD

CAM + 0210h

Cam Histogram Result 15

CAM_HISRLTE

CAM + 0214h

Shading Control 1 Register

CAM_SHADING1

CAM + 0218h

Shading Control 2 Register

CAM_SHADING2

CAM + 021Ch

Shading R Curve Register 1

CAM_SRCURVE0

CAM + 0220h

Shading R Curve Register 2

CAM_SRCURVE1

CAM + 0224h

Shading R Curve Register 3

CAM_SRCURVE2

CAM + 01F4h
CAM + 01F8h

CAM + 0204h

MT
K

CAM + 0208h

371/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Shading G Curve Register 1

CAM_SGCURVE0

Shading G Curve Register 2

CAM_SGCURVE1

CAM + 0230h

Shading G Curve Register 3

CAM_SGCURVE2

CAM + 0234h

Shading B Curve Register 1

CAM_SBCURVE0

CAM + 0238h

Shading B Curve Register 2

CAM_SBCURVE1

CAM + 023Ch

Shading B Curve Register 3

CAM_SBCURVE2

CAM + 0240h

Cam Image-Processor Hue Register 1

CAM_HUE0

CAM + 0244h

Cam Image-Processor Hue Register 2

CAM_HUE1

CAM + 0248h

GMC Debug Register

CAM + 024Ch

Cam Version Register

fo
r

CAM + 0228h
CAM + 022Ch

CAM_GMCDEBUG
CAM_VERSION

6.14.1.1

TG Register Definitions

CAM+0000h
Bit

31

TG Phase Counter Register

30

29
28
CLKE CLKP
N
OL
R/W R/W
0
0
13
12

Name PCEN
Type R/W
Reset
0
Bit
15

14

HVALI PXCL PXCL PXCL
Name
D_EN K_EN K_INV K_IN

PCEN
CLKEN
CLKPOL
CLKCNT

R/W
0

R/W
0

25

CLKCNT
R/W
1
11

10

9

24

8
TGCL
K_SE
L
R/W
0

23

7

22

21

20

19

18

17

CLKRS

CLKFL

R/W
0

R/W
1

6

5

4

3

2

1

PIXCNT

DLATCH

R/W
1

R/W
1

16

0

TG phase counter enable control
Enable sensor master clock (mclk) output to sensor
Sensor master clock polarity control
Sensor master clock frequency divider control.
Sensor master clock will be 52Mhz/CLKCNT, where CLKCNT >=1
Sensor master clock rising edge control
Sensor master clock falling edge control
HVALID input enable
Pixel clock input monitor, used in internal clock synchronization mode
Pixel clock inverse
0
Internal clock synchronization
1
External pixel clock synchronization
Internal clock synchronization example waveform
(CLKCNT=1,CLKRS=0,CLKFL=1,PIXCNT=3,DLATCH=2)

MT
K

CLKRS
CLKFL
HVALID_EN
PXCLK_EN
PXCLK_INV
PXCLK_IN

R/W
0

26

CAM_PHSCNT

Co
nf
id
en
tia
l

Type R/W
Reset
0

27

Re
lea
se

Table 52 Camera Interface Register Map

372/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

52Mhz

ISP output signals
0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

3

0

1

2

3

0

1

fo
r

mclk

Sensor output signals
pclk
Bclk

TGCLK_SEL
PIXCNT
DLATCH

0

1

2

3

0

1

2

3

0

1

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

30

2

1

2

3

13

12

11

10

9

8

7

22
21
PIXELS
R/W
Fffh
6
5
LINES
R/W
Fffh

CAM_CAMWIN

20

19

18

17

16

4

3

2

1

0

Total input pixel number
Total input line number

TG Grab Range Start/End Pixel Configuration
Register

CAM+0008h
31

30

15

14

START
END

29

28

27

26

25

24

23

13

12

11

10

9

8

7

22
21
START
R/W
0
6
5
END
R/W
0

CAM_GRABCO
L
20

19

18

17

16

4

3

2

1

0

MT
K

Grab start pixel number
Grab end pixel number

CAM+000Ch
Bit

3

CMOS Sensor Size Configuration Register

31

PIXEL
LINE

Bit
Name
Type
Reset
Bit
Name
Type
Reset

2

Sensor master based clock selection (0: 52 Mhz, 1: 48 Mhz)
Sensor data latch frequency control, used in internal clock synchronization mode
Sensor data latch position control, used in internal clock synchronization mode

CAM+0004h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

Re
lea
se

0

31

30

TG Grab Range Start/End Line Configuration
Register
29

28

27

26

25

24

23

373/616

22

21

CAM_GRABRO
W
20

19

18

17

16

MediaTek Inc. Confidential

15

14

START
END

13

11

10

9

8

3

2

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

VSPOL
HSPOL
AUTO
EN

23

22

21

1

fo
r

31

Type
Reset

0

CAM_CSMODE

20

19

7
6
5
4
3
VSPO HSPO PWR
RST AUTO
L
L
ON
R/W R/W R/W R/W R/W
0
0
0
0
0

18

17

16

2

1

0
EN
R/W
0

Image sensor VSYNC polarity
Image sensor HSYNC polarity
Auto lock sensor input horizontal pixel numbers enable
Image sensor process counter enable

31
S00
R/W
0
15
S10
R/W
0

Component R,Gr,B,Gb Offset Adjustment Register

30

14

S00
OFFSET00
S01
OFFSET01
S10
OFFSET10
S11
OFFSET11

13

27
26
OFFSET00
R/W
0
12
11
10
OFFSET10
R/W
0

25

24

23
S01
R/W
0
7
S11
R/W
0

9

8

22

21

6

5

20

19
18
OFFSET01
R/W
0
4
3
2
OFFSET11
R/W
0

30

View Finder Mode Control Register
29

MT
K
15

28

CAM_RGBOFF
17

16

1

0

Sign of raw data (0,0) offset adjustment control, 0 : positive 1: negative
Raw data (0,0) offset adjustment
Sign of raw data (0,1) offset adjustment control, 0 : positive 1: negative
Raw data (0,1) offset adjustment
Sign of raw data (1,0) offset adjustment control, 0 : positive 1: negative
Raw data (1,0) offset adjustment
Sign of raw data (1,1) offset adjustment control, 0 : positive 1: negative
Raw data (1,1) offset adjustment

CAM+0018h
31

29

Co
nf
id
en
tia
l

CAM+0014h

Bit
Name
Type
Reset
Bit

4

CMOS Sensor Mode Configuration Register

Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

7

Grab start line number
Grab end line number

CAM+0010h
Bit
Name
Type
Reset
Bit

12

START
R/W
0
6
5
END
R/W
0

Re
lea
se

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

14

13

28

27

26

25

24

12

11

10

9

8

Name

SP_DELAY

Type
Reset

R/W
0

23

CAM_VFCON
22

7
6
SP_M TAKE
ODE _PIC
R/W R/W
0
0

374/616

21

20

19

18

17

16

5

4

3

2

1

0

FR_CON
R/W
0

MediaTek Inc. Confidential

SP_DELAY
SP_MODE
TAKE_PIC
FR_CON
000
001
010
011
100
101
110
111

Bit

31

Camera Module Interrupt Enable Register

30

29

28

27

26

25

Name
Type
Reset
Bit

15

14

13

12

11

10

9

24
VSYN
C_INT
_EN
R/W
0
8

Name
Type
Reset

CAM+0020h
Bit
Name
Type
Reset
Bit

31

30

15

14

Name
Type
Reset

23

22

21

20

19

18

17

16

TG_INT_LINENO
R/W
ff

7

2
1
0
GMC
TG_IN ATF_I AEDO ISPD
REZO EXPD
IDLE OVRU
T
NT
NE ONE
VRUN O
N
R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0

6

5

4

3

Vsync interrupt enable, tg_int will become vsync interrupt when it is enable
TG interrupt line number
TG interrupt
AE done interrupt enable control
ISP done interrupt enable control
Returning idle state interrupt enable control
GMC port over run interrupt enable control
Resizer over run interrupt enable control
Exposure done interrupt enable control

Co
nf
id
en
tia
l

VSYNC_INT_EN
TG_INT_LINENO
TG_INT
AEDONE
ISPDONE
LDLE
GMCOVRUN
REZOVRUN
EXPDO

CAM_INTEN

Re
lea
se

CAM+001Ch

fo
r

Still Picture Mode delay
Still Picture Mode
Take Picture Request
Frame Sampling Rate Control
Every frame is sampled
One frame is sampled every 2 frames
One frame is sampled every 3 frames
One frame is sampled every 4 frames
One frame is sampled every 5 frames
One frame is sampled every 6 frames
One frame is sampled every 7 frames
One frame is sampled every 8 frames

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Camera Module Interrupt Status Register

CAM_INTSTA

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

18

17

16

2
1
0
GMC
TG_IN ATF_I AEDO ISPD
REZO EXPD
IDLE OVRU
T
NT
NE ONE
VRUN O
N
R
R
R
R
R
R
R
R
0
0
0
0
0
0
0
0

MT
K

Interrupt Status corresponding with 0x1c CAM_INTEN

CAM+0024h
Bit

31

30

Camera Module Path Config Register
29

28

27

26

25

24

23

375/616

22

CAM_PATH
21

20

19

18

17

16

MediaTek Inc. Confidential

CNTO
CNTMODE
N

Type R/W
Reset
0
Bit
15
Name
Type
Reset

WRITE_LEVEL

R/W
0
14

13

R/W
7
10

12

11
INDA
SWAP
SWAP
TA_F
_CBC
_Y
ORM
R
AT
R/W R/W R/W R/W
0
0
0
0 0

9

8

INTYPE_SEL
R/W

REZ_ REZ_
OUTP
OUTPATH_T BURSTW_TYPE[2:
DISC LPF_
ATH_
YPE
0]
ONN OFF
EN
RW
RW
R/W
R/W
R/W
0
0
0
0
0
7
6
5
4
3
2
1
0
INPAT
INPA
H_TH
INPATH_RATE
TH_S
ROTE
EL
N
R/W
R/W R/W
0
0
0

fo
r

Name

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CNTON
CNTMODE

Co
nf
id
en
tia
l

Re
lea
se

Enable Debug Mode Data Transfer Counter
Data Transfer Count Selection
00 sRGB count
01 YCbCr count
REZ_DISCONN
Resizer disconnect enable
REZ_LPF_OFF
Resizer low-Pass disable
WRITE_LEVEL
Write FIFO threshold level
Outpath Type Select
OUTPATH_TYPE
00 Bayer Format
01 ISP output
02 RGB888 Format
03 RGB565 Format
BURSTW_TYPE
Burst write type selecttion
000 Single
001 2 Beat
011 4 Beat
101 8 Beat
111 16 Beat
OUTPATH_EN
Enable Output to Memory
SWAP_Y
YCbCr in Swap Y
SWAP_CBCR
YCbCr in Swap Cb Cr
INDATA_FORMAT Sensor Input Data connection
INTYPE_SEL
Input type selection
000 Bayer Format
001 YUV422 Format
101 YCbCr422 Format
010 RGB Format
INPATH_RATE
Input type rate control
INPATH_THROTEN Input path throttle enable
INPATH_SEL
Input path selection
0
Sensor input
1
From memory

Camera Module Input Address Register

MT
K

CAM+0028h
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
CAM_INADDR[31:16]
R/W
0
9
8
7
6

376/616

CAM_INADDR
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

Revision 1.0

CAM_INADDR[15:0]
R/W
0

CAM_INADDR Input memory address

31

30

29

28

27

26

15

14

13

12

11

10

CAM_OUTADDR

6.14.1.2

31

Output memory address

21

20

5

4

19

18

17

3

2

1

16

0

Color Process Register Definition

CAM+0030h
Bit
Name
Type
Reset
Bit

25
24
23
22
CAM_OUTADDR[31:16]
R/W
0
9
8
7
6
CAM_OUTADDR[15:0]
R/W
0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_OUTADD
R

Camera Module Output Address Register

Re
lea
se

CAM+002Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Preprocessing Control Register 1

30

14
PGAI
BYPP N_SC
Name
G OUNT
_EN
Type R/W R/W
Reset
0
0

13

28
27
GAIN_COMP
R/W
0
12
11

26

25

24

10

9

8

PIXELID

23

22

21

7

6

5

PGAIN_INT

R/W
0

20
19
P_LIMIT
R/W
0
4
3

18

17

16

2

1

0

PGAIN_FRAC

Co
nf
id
en
tia
l

15

29

CAM_CTRL1

R/W
1

R/W
0

GAIN_COMP
Gain Compensation Control
Interpolation Limitation Control
P_LIMIT
BYPPG
Bypass pre-gain operating enable
PGAIN_SCOUNT_EN
Pre-gain saturation count
PIXELID
Bayer pixel type of the first pixel
00
R pixel
01
Gr pixel
10 Gb pixel
11 B pixel
PGAIN_INT
Pre-gain multiplier integer part
PGAIN_FRAC
Pre-gain multiplier fraction part

CAM+0034h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

15

14

CAM_RGBGAIN
1

Component R,G,B Gain Control Register 1

13

28

27

26

25

24

23

22

12

11

10

9

8

7

6

377/616

21

20
19
B_GAIN
R/W
80h
5
4
3
GB_GAIN
R/W

18

17

16

2

1

0

MediaTek Inc. Confidential

Reset

80h

B_GAIN
GB_GAIN

B Gain
GB Gain

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

R Gain
GR Gain

CAM+003Ch
31

30

29

15

14

13

H1_BND
H2_BND
H3_BND
H4_BND

30

15

14

26

25

24

10

9

8

29

13

28
27
H5_BND
R/W
80h
12
11

2

23

22

21

7

6

5

1

16

0

CAM_HIS0

20
19
H2_BND
R/W
20h
4
3
H4_BND
R/W
40H

18

17

16

2

1

0

CAM_HIS1

26

25

24

23

22

21

20

19

18

17

16

10

9

8

7

6

5

4

3

2

1

0

30

Preprocessing Control Register 2
29

28

27

26

12

11
AWB
ALL
R/W

10

25

24

Name

MT
K

Type
Reset
Bit

17

Histogram level 4 up boundary value

CAM+0044h
31

18

Histogram Boundary Control Register2

31

H5_BND

Bit

28
27
H1_BND
R/W
10h
12
11
H3_BND
R/W
30h

Histogram level 0 up boundary value
Histogram level 1 up boundary value
Histogram level 2 up boundary value
Histogram level 3 up boundary value

CAM+0040h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

20
19
R_GAIN
R/W
80h
5
4
3
GR_GAIN
R/W
80h

Histogram Boundary Control Register1

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

21

Re
lea
se

31

R_GAIN
GR_GAIN

CAM_RGBGAIN
2

Component R,G,B Gain Control Register 2

fo
r

CAM+0038h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

15
14
ATFE ATFA
Name
DGEN LL
Type R/W R/W

13

9
8
GONL
RLEN
Y
R/W R/W

23

CAM_CTRL2

21
20
19
18
17
16
AEPI AEGI
AEAL CNTE
CNTC
AESE
D_PO D_PO
AEGMSEL
L
N
LR
L
L
L
R/W R/W R/W R/W R/W
R/W
R/W
0
1
0
0
0
0
0
1
7
6
5
4
3
2
1
0

378/616

22

INTEN
R/W

MediaTek Inc. Confidential

0

AEALL
CNTEN
CNTCLR
AEPID_POL
AEGID_POL
AEGMSEL
00
01
10
11
AESEL
ATFEDGEN
ATFALL
AWBALL
GONLY
RLEN
INTEN

29

15

14

13

30

15

14

25

24

10

9

8

23

22

21

7

6

5

20
19
RIGHT
R/W
0
4
3
BOTTOM
R/W
0

ATF Window 2 Register
29

13

MT
K
31

26

18

17

16

2

1

0

28
27
LEFT
R/W
0
12
11
TOP
R/W
0

CAM_ATFWIN1

26

25

24

23

22

21

10

9

8

7

6

5

24

23

22

21

20
19
RIGHT
R/W
0
4
3
BOTTOM
R/W
0

18

17

16

2

1

0

ATF 2th window left side
ATF 2th window right side
ATF 2th window top side
ATF 2th window bottom side

CAM+0060h
Bit

28
27
LEFT
R/W
0
12
11
TOP
R/W
0

CAM_ATFWIN0

ATF 1th window left side
ATF 1th window right side
ATF 1th window top side
ATF 1th window bottom side

31

LEFT
RIGHT
TOP
BOTTOM

0

fo
r

30

CAM+005Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

ATF Window 1 Register

31

LEFT
RIGHT
TOP
BOTTOM

0

AE full frame single window enable
AE counter enable
AE count clear enable
Polarity of the pixel identifier swapped for AE operating
Polarity of the line identifier swapped for AE operating
AE gamma curve selection
use gamma curve 0
use gamma curve 1
use gamma curve 2
use gamma curve 3
AE path select
ATG Edge Enable Control
ATF area all control
AWB full frame single window enable
Use G component only for AE
Histogram polarity select enable. AELID_POL,AEPID_POL decide the pixel type
Interpolation FIFO enable

CAM+0058h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

Re
lea
se

1

Co
nf
id
en
tia
l

Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

30

ATF Window 3 Register
29

28

27

26

25

CAM_ATFWIN2

379/616

20

19

18

17

16

MediaTek Inc. Confidential

30

29

15

14

13

31

30

15

14

LEFT
RIGHT
TOP
BOTTOM

6

5

28
27
LEFT
R/W
0
12
11
TOP
R/W
0

23

22

21

29

28
27
LEFT
R/W
0
12
11
TOP
R/W
0

25

24

10

9

8

26

25

13

10

9

2

1

0

CAM_ATFWIN3

26

ATF Window 5 Register

20
19
RIGHT
R/W
0
4
3
BOTTOM
R/W
0

7

6

5

18

17

16

2

1

0

CAM_ATFWIN4

24

23

8

7

22

21

6

5

20
19
RIGHT
R/W
0
4
3
BOTTOM
R/W
0

31

30

15

14

AWB Window Register
29

13

MT
K

LEFT
RIGHT
TOP

7

18

17

16

2

1

0

ATF 5th window left side
ATF 5th window right side
ATF 5th window top side
ATF 5th window bottom side

CAM+006Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

8

ATF 4th window left side
ATF 4th window right side
ATF 4th window top side
ATF 4th window bottom side

CAM+0068h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

9

ATF Window 4 Register

31

LEFT
RIGHT
TOP
BOTTOM

10

ATF 3th window left side
ATF 3th window right side
ATF 3th window top side
ATF 3th window bottom side

CAM+0064h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

fo
r

LEFT
RIGHT
TOP
BOTTOM

14

RIGHT
R/W
0
4
3
BOTTOM
R/W
0

Re
lea
se

15

LEFT
R/W
0
12
11
TOP
R/W
0

Co
nf
id
en
tia
l

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

28
27
LEFT
R/W
0
12
11
TOP
R/W
0

CAM_AWBWIN

26

25

24

23

22

21

10

9

8

7

6

5

20
19
RIGHT
R/W
0
4
3
BOTTOM
R/W
0

18

17

16

2

1

0

AWB window left side
AWB window right side
AWB window top side

380/616

MediaTek Inc. Confidential

BOTTOM

AWB window bottom side

CAM+0070h

Color Processing Stage Control Register

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7
BYPI
NT
R/W
0

6

5

4

Type
Reset

BYPINT
NONLIN
GAVG
LEDGEN
DISLJ

Interpolation first 4 invalid output pixel used enable
Nonlinear mode enable in color correction operation
G channel average mode
Line edge enable
Disable line judge enable

CAM+0074h

Interpolation Register1

31

30

29

28

15

14

13

12

THRE_V
THRE_SM
THRE_DHV
THRE_RT

25

24

9

8

18

17

16

3
2
1
0
NONL
LEDG
GAVG
DISLJ
IN
EN
R/W R/W R/W R/W
0
0
1
0

23

22

21

20

7

6

5

4

CAM_INTER1

19

18
17
THRE_SM
R/W
05h
3
2
1
THRE_RT
R/W
10h

16

0

31

30

15

14

Co
nf
id
en
tia
l

Interpolation parameter
Interpolation parameter
Interpolation parameter
Interpolation parameter

CAM+0078h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

27
26
THRE_V
R/W
0Ah
11
10
THRE_DHV
R/W
19h

19

fo
r

31

Name

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_CPSCON1

Re
lea
se

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Interpolation Register 2

CAM_INTER2

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4
3
2
THRE_LEDGE
R/W
14h

1

0

THRE_LEDGE Interpolation parameter

CAM+007Ch
Bit

31

30

29

28

Name

Name

27

26

25

24

COREH

MT
K
Type
Reset
Bit

15

14

CAM_EDGCOR
E

Edge Core Register

13

12

R/W
08h
11

10

9

COREV

8

23
22
EMBO EMBO
SS1 SS2
R/W R/W
0
0
7
6
TOP_
SLOP
E

381/616

21

20

19

18

17

16

1

0

COREH2
R/W
1Fh
5

4

3

2

CORE_CON

MediaTek Inc. Confidential

Type
Reset

R/W
8h

COREH
EMBOSS1
EMBOSS2
COREH2
COREV
TOP_SLOPE
CORE_CON

30

29
28
SPECIPONL
Name SPECIGAIN
Y
Type
R/W
R/W
Reset
0
0
Bit
15
14
13
12

27

26

25
R/W
1

11

10

9

EGAIN_VB

Type
Reset

R/W
3

30

15

14

Type
Reset

22

21

20

19

29

28

27

26

25

24

13

12

11

10

9

8

18

6

5

4

3

23

17

16

EGAIN_H2
R/W
3
2

1

KNEESEL

EGAINLILNE

R/W
3

R/W
2

0

CAM_EDGGAIN
2
22

7
6
SPEC SPEC
IABS IINV
R/W R/W
0
0

21

20

19

18

17

16

5

4

3

2

1

0

EGAIN_HC
R/W
Fh

MT
K

Edge special absolute enable
Edge special invert enable
Edge gain Hc

CAM+0088h
31

7
OILE
N
R/W
0

Co
nf
id
en
tia
l

31

SPECIABS
SPECIINV
EGAIN_HC

23

Edge Gain Register 2

Name

Bit
Name
Type

8

Edge special gain value
Edge special p only value
Edge gain H value
Edge gain H2 value
Edge gain Vb value
Oil effect enable
Knee select
Edge gain line value

CAM+0084h
Bit
Name
Type
Reset
Bit

24

EGAIN_H

Name

SPECIGAIN
SPECIPONLY
EGAIN_H
EGAIN_H2
EGAIN_VB
OILEN
KNEESEL
EGAINLINE

fo
r

CAM_EDGGAIN
1

Edge Gain Register 1

Re
lea
se

31

R/W
14h

Edge parameter
Emboss effect mode 1 enable
Emboss effect mode 2 enable
Edge parameter
[3:2] Negative Slope [1:0] Positive Slope
Edge parameter
Edge parameter

CAM+0080h
Bit

R/W
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

30

CAM_EDGTHR
E

Edge Threshold Register
29

28
27
ETH3
R/W

26

25

24

23

382/616

22

21

20
19
ETH_CON
R/W

18

17

16

MediaTek Inc. Confidential

32h
14

13

ETH3
ETH_CON
ONLYC
THRE_EDGE_SUP
THRL_EDGE_SUP

CAM+008Ch

14

13

8

31

30

15

14

CAM+0094h

7

6

5

4

2

THRL_EDGE_SUP

R/W
07h

R/W
07h

28

27
26
E_TH1_V
R/W
18h
12
11
10
SUP_V
R/W
0

25

24

9
8
SDN_V
R/W
2

1

0

CAM_EDGVCO
N

23

22

21

7

6

5

20

19
18
HALF_V
R/W
1Fh
4
3
2
E_TH3_V
R/W
32h

Axis RGB Gain Register

17

16

1

0

CAM_AXGAIN

29

28

27

26

25

24

23

22

21

20

13

12

11
10
G_GAIN
R/W
3Fh

9

8

7

6

5

4

23

22

21

20

19
18
R_GAIN
R/W
3Fh
3
2
B_GAIN
R/W
3Fh

17

16

1

0

Axis R component gain
Axis G component gain
Axis B component gain

AWB Configuration Register
29

28

27

26

25

24

CAM_OPDCFG
19

SUPSEL

MT
K

31
30
OPDE OPDC
Name
N
LR
Type R/W R/W
Reset
1
0
Bit
15
14
Name
Type
Reset

3

THRE_EDGE_SUP

Edge high pass enable
Edge parameter
Edge parameter
Edge parameter
Edge parameter
Edge parameter

R_GAIN
G_GAIN
B_GAIN

Bit

9

Edge Vertical Control Register
29

CAM+0090h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

10

Edge threshold value
Edge parameter
Edge enhanced C component only enable
Edge parameter
Edge parameter

30

HPEN
E_TH1_V
HALF_V
SUP_V
SDN_V
E_TH3_V

80h
11

Co
nf
id
en
tia
l

Bit
31
Name HPEN
Type R/W
Reset
0
Bit
15
Name
Type
Reset

12

fo
r

15
ONLY
Name
C
Type R/W
Reset
0

Re
lea
se

Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

13

12

11

10
V_GAIN
R/W
1Fh

R/W
3
9

8

7

383/616

18

17

16

U_GAIN

6

5

4

3

R/W
1Fh
2
1
Y_LIMIT
R/W
3

0

MediaTek Inc. Confidential

OPDEN
OPDCLR
SUPSEL
U_GAIN
V_GAIN
Y_LIMIT

AWB counter enable
AWB counter clear enable
AWB accumulated maximum value setting. Equation is (192 + 8 * SUPSEL).
AWB U gain value
AWB V gain value
AWB white point minimum value,

OPD Component Parameter Register

30

29

15

14

13

S_RB_P
S_RB_N
S_MG_P
S_MG_N

31

30

29

24

23

22

21

9

8

7

6

5

27

26

25

20

19
18
S_RB_N
R/W
7Fh
4
3
2
S_MG_N
R/W
7Fh

17

16

1

0

CAM_MATRIX1

24

23

22

21

20

19

18

17

16

3

2

1

0

M11
R/W
20h

15

14

13

12

11

10

9

8

7

6

5

4

Co
nf
id
en
tia
l

M12
R/W
80h

M13
R/W
80h

Color matrix 11 value
Color matrix 12 value
Color matrix 13 value

CAM+00A0h
31

15

Color Matrix 2 Register

30

14

29

13

28

27

12

11

26

10

25

9

24

8

23

7

CAM_MATRIX2
22

21

20

19

18

17

16

3

2

1

0

M21
R/W
80h
6

5

4

M22
R/W
20h

M21
M22
M23

M23
R/W
80h

Color matrix 21 value
Color matrix 22 value
Color matrix 23 value

Color Matrix 3 Register

MT
K

CAM+00A4h
Bit
Name
Type
Reset
Bit

28

CAM_OPDPAR

25

Color Matrix 1 Register

M11
M12
M13

Bit
Name
Type
Reset
Bit
Name
Type
Reset

27
26
S_RB_P
R/W
7Fh
12
11
10
S_MG_P
R/W
7Fh

AWB SR Bp value
AWB SR Bn value
AWB SM Gp value
AWB SN Gn value

CAM+009Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

28

fo
r

31

Re
lea
se

CAM+0098h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

15

30

14

29

13

28

27

26

25

CAM_MATRIX3
24

23

22

21

20

19

18

17

16

3

2

1

0

M31
R/W
80h
12

11

10

9

8

7

384/616

6

5

4

MediaTek Inc. Confidential

Name
Type
Reset

M32
R/W
80h

M31
M32
M33

Color Matrix RGB Gain Register
28

27

26

25

24

23

22

21

20

15

14

13

12

11
10
G_GAIN
R/W
20h

9

8

7

6

5

4

Color matrix R component gain value
Color matrix G component gain value
Color matrix B component gain value

Color Process Stage Control Register 2

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

BYPGM
RGBEDGAINEN
YEDGEN
OPDGM_IVT
Y_EGAIN

CAM+00B0h
31

30

15

14

22

17

16

1

0

CAM_CPSCON2

21

20

7
6
5
4
BYPG RGBE YEDG OPRG
M DGEN EN M_IVT
R/W R/W R/W R/W
1
0
0
0

19

18

17

16

3

2

1

0

Y_EGAIN
R/W
2

Bypass gamma enable
Edge enhance before gamma
Edge enhance after gamma
Gamma output inverse mode enable
Y channel edge gain value

CAM_AWBGAI
N

AWB RGB Gain Register
29

13

28

27

12
11
AWB_GGAIN
R/W
80h

26

25

24

23

22

21

10

9

8

7

6

5

20
19
AWB_RGAIN
R/W
80h
4
3
AWB_BGAIN
R/W
80h

18

17

16

2

1

0

AWB R component gain value
AWB G component gain value
AWB B component gain value

MT
K

AWB_RGAIN
AWB_GGAIN
AWB_BGAIN

23

Co
nf
id
en
tia
l

Name
Type
Reset

19
18
R_GAIN
R/W
20h
3
2
B_GAIN
R/W
20h

fo
r

29

Re
lea
se

30

CAM+00ACh

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_MTXGAIN

31

R_GAIN
G_GAIN
B_GAIN

Bit
Name
Type
Reset
Bit

M33
R/W
20h

Color matrix 31 value
Color matrix 32 value
Color matrix 33 value

CAM+00A8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

385/616

MediaTek Inc. Confidential

31

30

29

28

27

26

25

24

Name
Type
Reset
Bit

15
SIGN_
Name
G
Type R/W
Reset
0

14

13

29

28

27

26

25

24

14

13

12

11

10

9

8

21

20

19

18

FLARE_R
R/W
0
6

5

4

3

2

23

22

21

7

6

5

13

U11
V11
SIGN_U_OFFSET
U_OFFSET

0

17

16

1

0

UV_L
P_EN

CSUP_EDGE_GAIN

R/W
0

R/W
10h

Y channel contrast gain value
Sign bit of Y channel brightness offset value
Y channel brightness offset value
UV channel low pass enable
Chroma suppression edge gain value

28

27

26

25

24

23

CAM_UVCHAN
22

21

20

U11
R/W
20h

14

1

CAM_YCHAN

20
19
18
CONTRAST_GAIN
R/W
40h
4
3
2

UV Channel Configuration Register
29

16

R/W
0

R/W
0

30

17

FLARE_B

BRIGHT_OFFSET

MT
K

15
SIGN_
Name U_OF
FSET
Type R/W
Reset
0

22

Y Channel Configuration Register

30

CAM+00BCh
31

8

R flare sign
R flare
G flare sign
G flare
R flare sign
G flare

CONTRAST_GAIN
SIGN_BRIGHT_OFFSET
BRIGHT_OFFSET
UV_LP_EN
CSUP_EDGE_GAIN

Bit
Name
Type
Reset
Bit

9

Co
nf
id
en
tia
l

15
SIGN_
BRIG
Name HT_O
FFSE
T
Type R/W
Reset
1

10
R/W
0

CAM+00B8h
31

11

FLAIRE_G

SIGN_R
FLARE_R
SIGN_G
FLARE_G
SIGN_B
FLARE_B

Bit
Name
Type
Reset
Bit

12

23
SIGN
_R
R/W
0
7
SIGN
_B
R/W
0

fo
r

Bit

CAM_GAMFLR
E

Gamma RGB Flare Register

Re
lea
se

CAM+00B4h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

12

11

U_OFFSET
R/W
0

10

9

8

7
SIGN_
V_OF
FSET
R/W
0

19

18

17

16

3

2

1

0

V22
R/W
20h
6

5

4

V_OFFSET
R/W
0

Hue U channel operating value
Hue V channel operating value
Sign bit of Hue U channel offset value
Hue U channel offset value
386/616

MediaTek Inc. Confidential

SIGN_V_OFFSET
V_OFFSET

CAM+00C0h

28

27

26

25

24

23

22

21

15

14

13

12
11
U_GAIN
R/W
91h

10

9

8

7

6

5

30

29

15

14

13

15

14

GAMMA_B1
GAMMA_B2
GAMMA_B3
GAMMA_B4

GAMMA_B5

12
11
U_OFFSET
R/W
80h

26

25

24

10

9

8

29

13

28
27
GAMMA_B1
R/W
32h
12
11
GAMMA_B3
R/W
65h

16

1

0

CAM_SCONV2

23

22

21

7

6

5

Gamma Operation Register 1

30

20
19
Y_OFFSET
R/W
01h
4
3
V_OFFSET
R/W
80h

18

17

16

2

1

0

CAM_GAMMA1

26

25

24

23

22

21

10

9

8

7

6

5

Gamma Operation Register 2
29

MT
K
15

27

17

20
19
GAMMA_B2
R/W
50h
4
3
GAMMA_B4
R/W
76h

18

17

16

2

1

0

Gamma operating B1 value
Gamma operating B2 value
Gamma operating B3 value
Gamma operating B4 value

CAM+00CCh
31

28

Space Convert Y channel offset value
Space Convert U channel offset value
Space Convert V channel offset value

30

2

Space Convert YUV Register 2

31

31

18

Re
lea
se

Space Convert Y channel gain value
Space Convert U channel gain value
Space Convert V channel gain value

CAM+00C8h

20
19
Y_GAIN
R/W
FFh
4
3
V_GAIN
R/W
B8h

fo
r

29

Y_OFFSET
U_OFFSET
V_OFFSET

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_SCONV1

30

CAM+00C4h

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Space Convert YUV Register 1

31

Y_GAIN
U_GAIN
V_GAIN

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Sign bit of Hue V channel offset value
Hue V channel offset value

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

14

13

28
27
GAMMA_B5
R/W
94h
12
11
GAMMA_B7
R/W
C5h

CAM_GAMMA2

26

25

24

23

22

21

10

9

8

7

6

5

20
19
GAMMA_B6
R/W
Aeh
4
3
GAMMA_B8
R/W
Dah

18

17

16

2

1

0

Gamma operating B5 value

387/616

MediaTek Inc. Confidential

GAMMA_B6
GAMMA_B7
GAMMA_B8

Gamma operating B6 value
Gamma operating B7 value
Gamma operating B8 value

Gamma Operation Register 3

31

30

29

15

14

13

GAMMA_B9
GAMMA_B10
GAMMA_B11

22

21

10

9

8

7

6

5

28

27

26

25

15

14

13

12

11

10

9

20
19
GAMMA_B10
R/W
EDh
4
3

Re
lea
se

29

24
23
22
OPD_Y[31:16]
RO
0
8
7
6
OPD_Y[15:0]
RO
0

18

2

17

16

1

0

CAM_OPDY

21

20

19

18

17

16

5

4

3

2

1

0

21

20

19

18

17

16

5

4

3

2

1

0

OPD Y component accumulation result

30

15

14

OPD MG Result Register
29

28

27

26

13

12

11

10

25

24
23
22
OPD_MG[31:16]
RO
0
9
8
7
6
OPD_MG[15:0]
RO
0

OPD MG component accumulation result

31

30

15

14

OPD_RB

OPD RB Result Register
29

28

27

26

13

12

11

10

CAM_OPDRB

25

24
23
22
OPD_RB[31:16]
RO
0
9
8
7
6
OPD_RB[15:0]
RO
0

21

20

19

18

17

16

5

4

3

2

1

0

21

20
19
PXLCNT

MT
K

OPD RB component accumulation result

CAM+00E0h
31

CAM_OPDMG

Co
nf
id
en
tia
l

31

CAM+00DCh

Bit
Name

23

30

OPD_MG

Bit
Name
Type
Reset
Bit
Name
Type
Reset

24

31

CAM+00D8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

25

OPD Y Result Register

OPD_Y

CAM_GAMMA3

26

Gamma operating B9 value
Gamma operating B10 value
Gamma operating B11 value

CAM+00D4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

28
27
GAMMA_B9
R/W
E4h
12
11
GAMMA_B11
R/W
F7h

fo
r

CAM+00D0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

30

OPD Pixel Count Register
29

28

27

26

25

CAM_OPDCNT
24

23

388/616

22

18

17

16

MediaTek Inc. Confidential

R
0
14

PXLCNT

30

29

28

27

26

15

14

13

12

11

10

6

5

4

3

2

1

0

CAM_AE5RLT

25

24

23
22
21
SUM_ATF1[28:16]
RO
0
9
8
7
6
5
SUM_ATF1[15:0]
RO
0

20

19

4

3

18

17

16

2

1

0

29

28

27

26

15

14

13

12

11

10

CAM_ AE6RLT

25

24

23
22
21
SUM_ATF2[28:16]
RO
0
9
8
7
6
5
SUM_ATF2[15:0]
RO
0

Co
nf
id
en
tia
l

30

20

19

18

17

16

4

3

2

1

0

ATF window 2 accumulation result

CAM+00FCh
31

30

15

14

SUM_ATF3

ATF Result 3 Register
29

28

27

26

13

12

11

10

25

24

23
22
21
SUM_ATF3[28:16]
RO
0
9
8
7
6
5
SUM_ATF3[15:0]
RO
0

CAM_ AE7RLT
20

19

18

17

16

4

3

2

1

0

ATF window 3 accumulation result

CAM+0100h
30

ATF Result 4 Register
29

MT
K
15

8
7
PXLCNT
RO
0

ATF Result 2 Register

31

31

9

ATF window 1 accumulation result

SUM_ATF2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

10

31

CAM+00F8h

Bit
Name
Type
Reset
Bit
Name
Type
Reset

11

ATF Result 1 Register

SUM_ATF1

Bit
Name
Type
Reset
Bit
Name
Type
Reset

12

OPD pixel counter accumulation result

CAM+00F4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

fo
r

15

Re
lea
se

Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

14

13

28

27

26

12

11

10

25

24

23
22
21
SUM_ATF4[28:16]
RO
0
9
8
7
6
5
SUM_ATF4[15:0]
RO
0

389/616

CAM_ AE8RLT
20

19

18

17

16

4

3

2

1

0

MediaTek Inc. Confidential

SUM_ATF4

ATF window 4 accumulation result

ATF Result 5 Register

31

30

29

28

27

26

15

14

13

12

11

10

CAM_ AE9RLT

25

24

23
22
21
SUM_ATF5[28:16]
RO
0
9
8
7
6
5
SUM_ATF5[15:0]
RO
0

SUM_ATF5 ATF window 5 accumulation result
Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM Histogram Result 1

30

29

28

27

26

25

24

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLT1[15:0]
RO
0

5

CAM_HISRLT1 Histogram level 1 count result

31

30

15

14

CAM Histogram Result 2
29

28

27

26

25

23

13

12

11

10

4

3

2

17

16

1

0

20
19
18
17
CAM_HISRLT1[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLT1

24

23

22

21

9
8
7
6
CAM_HISRLT2[15:0]
RO
0

5

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

18

CAM_HISRLT0

31

CAM+010Ch

19

Re
lea
se

CAM+0108h

20

fo
r

CAM+0104h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20
19
18
17
CAM_HISRLT2[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLT2 Histogram level 2 count result

CAM+0110h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CAM Histogram Result 3

24

23

CAM_HISRLT2

29

28

27

26

25

22

21

13

12

11

10

9
8
7
6
CAM_HISRLT3[15:0]
RO
0

5

20
19
18
17
CAM_HISRLT3[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLT3 Histogram level 3 count result

CAM Histogram Result 4

MT
K

CAM+0114h
Bit
Name
Type
Reset
Bit

CAM_HISRLT3

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

390/616

20
19
18
17
CAM_HISRLT4[21:16]
RO
0
4
3
2
1

16

0

MediaTek Inc. Confidential

Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
CAM_HISRLT4[15:0]
RO
0

CAM_HISRLT4 Histogram level 4 count result

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM Histogram Result 5

CAM_HISRLT4

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLT5[15:0]
RO
0

5

20
19
18
17
CAM_HISRLT5[21:16]
RO
0
4
3
2
1

fo
r

CAM+0118h

16

0

CAM+011Ch
Bit

31

Low Pass Filter Control Register

30

29

28

27

26

25

24

14

13

12
C_LP
FEN
R/W
1

11

10

9

8

Name
Type
Reset
Bit

15
Y_LP
Name
FEN
Type R/W
Reset
0

Re
lea
se

CAM_HISRLT5 Histogram level 5 count result

CAM_LPFCON

23

22

21

20

19

18

17

7

6

5

4

3

2

1

16
V_LP
F_EN
R/W
0
0

CAM+0120h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

Co
nf
id
en
tia
l

V_LPF_EN Enable vertical low pass filter. Vertical low pass filter will only be available in following two cases:
1.
Output image size smaller than 640 pixels.
2.
Y_LPFEN or C_LPFEN is turned on
Y_LPFEN
Enable Luminance channel low pass filter, if V_LPF_EN is off, only do horizontal low pass
C_LPFEN Enable Chrominance channel low pass filter, if V_LPF_EN is off, only do horizontal low pass

29
28
27
26
LPFY_WEIGHT0[7:0]
R/W
0
13
12
11
10
LPFY_WEIGHT2[7:0]
R/W
0

CAM+0124h
Bit
Name
Type
Reset

31

30

CAM_LPFY

25

24

23

22

9

8

7

6

21
20
19
18
LPFY_WEIGHT1[7:0]
R/W
0
5
4
3
2
LPFY_WEIGHT3[7:0]
R/W
0

17

16

1

0

Y low pass filter weighting 0
Y low pass filter weighting 1
Y low pass filter weighting 2
Y low pass filter weighting 3

MT
K

LPFY_WEIGHT0
LPFY_WEIGHT1
LPFY_WEIGHT2
LPFY_WEIGHT3

Y Low Pass Filter Control Register

CbCr Low Pass Filter Control Register
29
28
27
26
LPFC_WEIGHT0[7:0]
R/W
0

25

24

23

391/616

22

CAM_LPFC
21
20
19
18
LPFC_WEIGHT1[7:0]
R/W
0

17

16

MediaTek Inc. Confidential

14

13
12
11
10
LPFC_WEIGHT2[7:0]
R/W
0

LPFC_WEIGHT0
LPFC _WEIGHT1
LPFC _WEIGHT2
LPFC _WEIGHT3

CAM+0128h
Bit

31

15

29

14

13

31

14

H_SUB_EN
H_SUB_IN
H_SUB_OUT

31

Name

29

15

13

26

25

24

23

22

21

20

18

17

16

4

3

2

1

0

20

19

18

17

16

4

3

2

1

0

R/W
0
10

9

8

7

28
H_SU
B_EN
R/W
0
12

27

26

25

24

6
5
V_SUB_OUT
R/W
0

23

0

19

V_SUB_IN

11

1

CAM_VSUB

22

21

CAM_HSUB

H_SUB_IN

11

10

9

8

7

R/W
0

6
5
H_SUB_OUT
R/W
0

30

14

CAM_SGAMMA
R0

Sensor Gamma R0 Register
29

13

MT
K

Type
Reset
Bit
Name
Type
Reset

5
4
3
2
LPFC_WEIGHT[7:0]
R/W
0

Horizontal sub-sample enable
Source horizontal size
Sub-sample horizontal size

CAM+0130h
Bit

27

Co
nf
id
en
tia
l

15

6

Horizontal Subsample Control Register

30

Name
Type
Reset
Bit
Name
Type
Reset

28
V_SU
B_EN
R/W
0
12

Vertical sub-sample enable
Source vertical size
Sub-sample vertical size

CAM+012ch
Bit

7

Vertical Subsample Control Register

30

V_SUB_EN
V_SUB_IN
V_SUB_OUT

8

CbCr low pass filter weighting 0
CbCr low pass filter weighting 1
CbCr low pass filter weighting 2
CbCr low pass filter weighting 3

Name
Type
Reset
Bit
Name
Type
Reset

9

fo
r

15

Re
lea
se

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

28
27
SGAM
MA_E
N
R/W
0
12
11
R_B2
R/W
50h

26

10

25

9

24
SGAM
MA_I
VT
R/W
0
8

23

7

22

21

20

19

18

17

16

2

1

0

R_B1
R/W
32h
6

5

4
3
R_B3
R/W
65h

SGAMMA_EN
Sensor Gamma enable
SGAMMA_IVT Sensor Gamma output invert
R_B1
Gamma operating B1 value
R_B2
Gamma operating B2 value
392/616

MediaTek Inc. Confidential

R_B3

Gamma operating B3 value

30

29

15

14

13

30

29

15

14

13

24

23

22

21

10

9

8

7

6

5

28
27
R_B8
R/W
DAh
12
11
R_B10
R/W
EDh

20
19
R_B5
R/W
94h
4
3
R_B7
R/W
C5h

18

2

17

16

1

0

26

25

24

10

9

8

CAM_SGAMMA
R2

23

22

21

7

6

5

20
19
R_B9
R/W
D4h
4
3
R_B11
R/W
F7h

18

17

16

2

1

0

CAM_SGAMMA
G0

Sensor Gamma G0 Register

31

30

15

14

G_B1
G_B2
G_B3
G_B4

Co
nf
id
en
tia
l

Gamma operating B8 value
Gamma operating B9 value
Gamma operating B10 value
Gamma operating B11 value

CAM+013ch

29

13

28
27
G_B1
R/W
32h
12
11
G_B3
R/W
65h

26

25

24

23

22

21

10

9

8

7

6

5

20
19
G_B2
R/W
50h
4
3
G_B4
R/W
76h

18

17

16

2

1

0

MT
K

Gamma operating B1 value
Gamma operating B2 value
Gamma operating B3 value
Gamma operating B4 value

CAM+0140h
Bit
Name
Type

25

Sensor Gamma R2 Register

31

R_B8
R_B9
R_B10
R_B11

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

Gamma operating B4 value
Gamma operating B5 value
Gamma operating B6 value
Gamma operating B7 value

CAM+0138h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

28
27
R_B4
R/W
76h
12
11
R_B6
R/W
AEh

fo
r

31

R_B4
R_B5
R_B6
R_B7

CAM_SGAMMA
R1

Sensor Gamma R1 Register

Re
lea
se

CAM+0134h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

CAM_SGAMMA
G1

Sensor Gamma G1 Register
29

28
27
G_B5
R/W

26

25

24

23

393/616

22

21

20
19
G_B6
R/W

18

17

16

MediaTek Inc. Confidential

15

14

G_B5
G_B6
G_B7
G_B8

13

29

15

14

13

28
27
G_B9
R/W
E4h
12
11
G_B11
R/W
F7h

26

25

24

10

9

8

Gamma operating B9 value
Gamma operating B10 value
Gamma operating B11 value

Sensor Gamma B0 Register

7

6

5

AEh
4
3
G_B8
R/W
DAh

2

30

15

14

29

28
27
B_B1
R/W
32h
12
11
B_B3
R/W
65h

26

25

24

13

10

9

8

1

0

CAM_SGAMMA
G2

23

7

22

21

20
19
G_B10
R/W
EDh
4
3

6

5

18

17

16

2

1

0

CAM_SGAMMA
B0

23

Co
nf
id
en
tia
l

31

B_B1
B_B2
B_B3
B_B4

7

22

21

6

5

20
19
B_B2
R/W
50h
4
3
B_B4
R/W
76h

18

17

16

2

1

0

Gamma operating B1 value
Gamma operating B2 value
Gamma operating B3 value
Gamma operating B4 value

CAM+014ch

CAM_SGAMMA
B1

Sensor Gamma B1 Register

31

30

15

14

29

13

MT
K

B_B5
B_B6
B_B7

8

fo
r

30

CAM+0148h

Bit
Name
Type
Reset
Bit
Name
Type
Reset

9

Sensor Gamma G2 Register

31

G_B9
G_B10
G_B11

Bit
Name
Type
Reset
Bit
Name
Type
Reset

10

Gamma operating B5 value
Gamma operating B6 value
Gamma operating B7 value
Gamma operating B8 value

CAM+0144h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

94h
12
11
G_B7
R/W
C5h

Re
lea
se

Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

28
27
B_B5
R/W
94h
12
11
B_B7
R/W
C5h

26

25

24

23

22

21

10

9

8

7

6

5

20
19
B_B6
R/W
AEh
4
3
B_B8
R/W
DAh

18

17

16

2

1

0

Gamma operating B5 value
Gamma operating B6 value
Gamma operating B7 value
394/616

MediaTek Inc. Confidential

B_B8

Gamma operating B8 value

31

30

29

15

14

13

B_B9
B_B10
B_B11

CAM_SGAMMA
B2

Sensor Gamma B2 Register
28
27
B_B9
R/W
E4h
12
11
B_B11
R/W
F7h

26

25

24

23

22

21

10

9

8

7

6

5

20
19
B_B10
R/W
EDh
4
3

31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name

DEFECT_EN

Defect table correct enable

CAM+0158h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

DEFECT_ADDR

CAM+0180h
31

30

15

14

29

28

27

26

13

12

11

10

CAM+0184h
Bit

31

30

17

16

1

0

CAM_DEFECT0

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Defect Pixel Table Address Register

CAM_DEFECT1

25
24
23
22
DEFFECT_ADDR[31:16]
RW
2000h
9
8
7
6
DEFECT_ADDR[15:0]
RW
0

21

20

19

18

17

16

5

4

3

2

1

0

Defect table location address

Camera Interface Debug Mode Control Register

CAM_DEBUG

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

24
DEFE
CT_E
N
R/W
0
8

Co
nf
id
en
tia
l

Type
Reset
Bit
Name
Type
Reset

2

Re
lea
se

Gamma operating B9 value
Gamma operating B10 value
Gamma operating B11 value

CAM+00154h Defect Pixel Configuration Register
Bit

18

fo
r

CAM+0150h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Camera Module Debug Information Write Out
Destination Address
29

28

27

26

25

24

23

395/616

22

21

CAM_DSTADD
R
20

19

18

17

16

MediaTek Inc. Confidential

14

DST_ADD

10

5

4

3

2

30

29

28

27

26

15

14

13

12

11

10

25
24
23
22
LAST_ADD[31:16]
R/W
0
9
8
7
6
LAST_ADD[15:0]
R/W
0

21

20

5

4

1

0

CAM_LASTADD
R

fo
r

Camera Module Debug Information Last Transfer
Destination Address

19

18

17

16

3

2

1

0

Debug Information Last Transfer Destination Address

CAM+018Ch

Camera Module Frame Buffer Transfer Out Count
Register

31

30

29

28

27

26

15

14

13

12

11

10

XFER_COUNT

CAM+0190h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

11

31

LAST_ADD

Bit
Name
Type
Reset
Bit
Name
Type
Reset

12

Debug Information Write Output Destination Address

CAM+0188h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

Re
lea
se

15

DST_ADD[31:16]
R/W
4000h
9
8
7
6
DST_ADD[15:0]
R/W
0000h

31

30

15

14

25
24
23
22
XFER_COUNT [31:16]
RO
0
9
8
7
6
XFER_COUNT[15:0]
RO
0

Co
nf
id
en
tia
l

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CAM_XFERCNT

21

20

19

18

17

16

5

4

3

2

1

0

Pixel Transfer Count per Frame

CAM_MDLCFG
1

CMOS Sensor Test Model Configuration Register 1
29

13

28
27
VSYNC
R/W
0
12
11

26

25

10

9
ON
R/W
0

24

23

8
7
RST STILL
R/W R/W
0
0

22

21
20
19
18
17
IDLE_PIXEL_PER_LINE
R/W
0
6
5
4
3
2
1
PATTERN
CLK_DIV
R/W
R/W
0
0

16

0

MT
K

VSYNC
VSYNC high duration in line unit(IDLE_PIXEL_PER_LINE + PIXEL)
IDLE_PIXEL_PER_LINE HSYNC low duration in pixel unit
ON
Enable CMOS Sensor Model
RST
Reset CMOS Sensor Model
STILL
Still picture Mode
PATTERN
CMOS Sensor Model Test Pattern Selection
CLK_DIV
Pixel_Clock/System_Clock Ratio

396/616

MediaTek Inc. Confidential

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

LINE
PIXEL

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Reserved

4

3

2

17

16

1

0

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

30

29

28

27

26

15

14

13

12

11

10

21

20

19

18

17

16

7

6

5

4

3

2

1

0

RESERVED

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

25

24
23
22
AE_ADDR[31:16]
R/W
0
9
8
7
6
AE_ADDR[15:0]
R/W
0

CAM_AEADDR
21

20

19

18

17

16

5

4

3

2

1

0

AE Statistic writed out address.
High bandwidth is required, recommend to set in sram

CAM+01A4h
30

AE Window Size Register
29

MT
K
15

22

AE Address Register

31

31

23

Co
nf
id
en
tia
l

31

AE_ADDR

Bit
Name
Type
Reset
Bit
Name
Type
Reset

18

RESERVED

31

CAM+01A0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

19

Reserved

CAM+019Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

20

CMOS Sensor Model Line Number
CMOS Sensor Model Pixel Number (HSYNC high duration in pixel unit)

CAM+0198h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

21
LINE
R/W
0
5
PIXEL
R/W
0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_MDLCFG
2

CMOS Sensor Test Model Configuration Register 2

fo
r

CAM +0194h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

14

13

28

27

26

12

11

10

25

24
23
22
AE_VSIZE[15:0]
R/W
0
9
8
7
6
AE_HSIZE[15:0]
R/W
0

397/616

CAM_AESIZE
21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

AE_VSIZE
AE_HSIZE

AE window vertical size
AE window horizontal size
Notes:
Total number of AE statistic window is 63 limited. When AE is on, vertical size and
horizontal size must be set to avoid ae window exceed 63

15

30
29
28
AE_WEIGHT00
R/W
1
14
13
12
AE_WEIGHT04
R/W
1

27

11

26
25
24
AE_WEIGHT01
R/W
1
10
9
8
AE_WEIGHT05
R/W
1

AE_WEIGHT00~07 AE window 00~07 weight

CAM+01ACh
31

15

30
29
28
AE_WEIGHT08
R/W
1
14
13
12
AE_WEIGHT12
R/W
1

27

11

26
25
24
AE_WEIGHT09
R/W
1
10
9
8
AE_WEIGHT13
R/W
1

7

23

7

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

AE Weight 2 Register

23

22
21
20
AE_WEIGHT02
R/W
1
6
5
4
AE_WEIGHT06
R/W
1

19

22
21
20
AE_WEIGHT10
R/W
1
6
5
4
AE_WEIGHT14
R/W
1

18
17
16
AE_WEIGHT03
R/W
1
2
1
0
AE_WEIGHT07
R/W
1

fo
r

31

CAM_AEWEIG
HT0

AE Weight 1 Register

3

Re
lea
se

CAM+01A8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

19

3

CAM_AEWEIG
HT1
18
17
16
AE_WEIGHT11
R/W
1
2
1
0
AE_WEIGHT15
R/W
1

AE_WEIGHT08~15 AE window 08~15 weight

CAM+01B0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

15

CAM_AEWEIG
HT2

AE Weight 3 Register

30
29
28
AE_WEIGHT16
R/W
1
14
13
12
AE_WEIGHT20
R/W
1

27

11

26
25
24
AE_WEIGHT17
R/W
1
10
9
8
AE_WEIGHT21
R/W
1

23

7

22
21
20
AE_WEIGHT18
R/W
1
6
5
4
AE_WEIGHT22
R/W
1

19

3

18
17
16
AE_WEIGHT19
R/W
1
2
1
0
AE_WEIGHT23
R/W
1

AE_WEIGHT16~23 AE window 16~23 weight

CAM+01B4h
31

30
29
28
AE_WEIGHT24
R/W
1
14
13
12
AE_WEIGHT28
R/W
1

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

15

CAM_AEWEIG
HT3

AE Weight 4 Register
27

11

26
25
24
AE_WEIGHT25
R/W
1
10
9
8
AE_WEIGHT29
R/W
1

23

398/616

7

22
21
20
AE_WEIGHT26
R/W
1
6
5
4
AE_WEIGHT30
R/W
1

19

3

18
17
16
AE_WEIGHT27
R/W
1
2
1
0
AE_WEIGHT31
R/W
1

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
AE_WEIGHT24~31 AE window 24~31 weight

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

15

CAM_AEWEIG
HT4

AE Weight 5 Register

30
29
28
AE_WEIGHT32
R/W
1
14
13
12
AE_WEIGHT36
R/W
1

27

11

26
25
24
AE_WEIGHT33
R/W
1
10
9
8
AE_WEIGHT37
R/W
1

23

7

22
21
20
AE_WEIGHT34
R/W
1
6
5
4
AE_WEIGHT38
R/W
1

CAM+01BCh
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

15

AE Weight 6 Register

30
29
28
AE_WEIGHT40
R/W
1
14
13
12
AE_WEIGHT44
R/W
1

27

11

26
25
24
AE_WEIGHT41
R/W
1
10
9
8
AE_WEIGHT45
R/W
1

AE_WEIGHT 40~47 AE window 40~47 weight

CAM+01C0h
31

15

30
29
28
AE_WEIGHT48
R/W
1
14
13
12
AE_WEIGHT52
R/W
1

27

26
25
24
AE_WEIGHT49
R/W
1
10
9
8
AE_WEIGHT53
R/W
1

23

7

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

AE Weight 7 Register

11

18
17
16
AE_WEIGHT35
R/W
1
2
1
0
AE_WEIGHT39
R/W
1

3

Re
lea
se

AE_WEIGHT 32~39 AE window 32~39 weight

19

fo
r

CAM+01B8h

7

22
21
20
AE_WEIGHT42
R/W
1
6
5
4
AE_WEIGHT46
R/W
1

22
21
20
AE_WEIGHT50
R/W
1
6
5
4
AE_WEIGHT54
R/W
1

19

3

19

3

CAM_AEWEIG
HT5
18
17
16
AE_WEIGHT43
R/W
1
2
1
0
AE_WEIGHT47
R/W
1

CAM_AEWEIG
HT6
18
17
16
AE_WEIGHT51
R/W
1
2
1
0
AE_WEIGHT55
R/W
1

AE_WEIGHT 48~55 AE window 48~55 weight

CAM+01C4h
31

15

30
29
28
AE_WEIGHT56
R/W
1
14
13
12
AE_WEIGHT60
R/W
1

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_AEWEIG
HT7

AE Weight 8 Register
27

11

26
25
24
AE_WEIGHT57
R/W
1
10
9
8
AE_WEIGHT61
R/W
1

23

7

22
21
20
AE_WEIGHT58
R/W
1
6
5
4
AE_WEIGHT62
R/W
1

19

3

18
17
16
AE_WEIGHT59
R/W
1
2
1
0

AE_WEIGHT 56~62 AE window 56~62 weight

CAM+01C8h
Bit
Name

31

30

AE Area Register
29
28
27
26
AE_VOFFSET[7:0]

CAM_AEAREA
25

24

23

399/616

22

21
20
19
18
AE_HOFFSET[7:0]

17

16

MediaTek Inc. Confidential

Type
Reset
Bit
Name
Type
Reset

R/W
0
15

14

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
R/W
0

13
12
11
10
AE_FRAMECNT[7:0]
R
0

9

8

7

6

5

4
3
2
1
AE_AREACNT[5:0]
R
0

AE_VOFFSET AE window vertical offset
AE_HOFFSET AE window horizontal offset
AE Frame interval counter

fo
r

AE_FRAMECNT

AE_AREACNT AE Window Area counter

Bit

31

30

CAM_ADEFEC
T0

AutoDefect Control 1 Register

26
25
24
23
22
DEAD
ADC_ ADL_ ADR_ ADU_ ADD_
RBCHECKS
Name
CHEC GCHECKSEL
EN
EN
EN
EN
EN
EL
K
Type R/W R/W R/W R/W R/W R/W
R/W
R/W
Reset
0
0
0
0
0
0
0
0
Bit
15
14
13
12
11
10
9
8
7
6
Name
AE_INTERVAL
Type
R/W
Reset
0

ADC_En
ADL_En
ADR_En
ADU_En
ADD_En
DEADCHECK
GCHECKSEl

29

28

Re
lea
se

CAM+01CCh

27

0

21

20

19

18

17

16

BRIGHTTHD

BLACKTHD

R/W
0
4

R/W
0
1

5

3

2

0

Co
nf
id
en
tia
l

Center Autodefect cell enable
Left Autodefect cell enable
Right Autodefect cell enable
Up Autodefect cell enable
Down Autodefect cell enable
Dead pixel check enable
G pixel check method selection
00 near group check only
01 near and far groups check
10 far group check only
11 reserved
RBCHECKSEl
RB pixel check method selection
00 near group check only
01 near and far groups check
10 far group check only
11 reserved
BRIGHTTHD
Black pixel threshold = BRIGHTTHD *4
BLACKTHD
Black pixel threshold = BLACKTHD *4
AE_INTERVAL
AE frame interval

Bit
Name
Type
Reset

31

30

CAM_ADEFECT
1

AutoDefect Control 2 Register

MT
K

CAM+01D0h

29

28
27
GCHECKTHD
R/W
0

26

25

24

23

400/616

22

21

20
19
18
RBCHECKTHD
R/W
0

17

16

MediaTek Inc. Confidential

14

13

GCHECKTHD
RBCHECKTHD
GCORRECTTHD
RBCORRECTTHD

CAM+01D4h
Bit

31

30

29

28

27

26

25

FLAS
H_EN

14

13

RW
0
12

11

10

Name

FLASH_LNUNIT_NO[7:0]

Type
Reset

RW
0

FLASH_OUT

Flash out status

FLASH_EN

Flash enable

FLASH_STARTPNT

7

6

5

4
3
2
RBCORRECTTHD
R/W
0

1

9

24
FLAS
H_ST
ARTP
NT
RW
0
8

Flash start point
0

Start from vsync start

1

Start from expdone

0

CAM_FLASH

23

22

21

20

FLAS
H_PO
L

7

Co
nf
id
en
tia
l

FLASH_POL

8

Flash Control Register

R
15

9

G pixel check threshold
RB pixel check threshold
G pixel correct threshold
RB pixel correct threshold

FLAS
Name H_OU
T
Type
Reset
Bit

12
11
10
GCORRECTTHD
R/W
0

fo
r

15

19

6

5

RW
0
4

18

17

16

FLASH_LNUNIT[3:0]

Re
lea
se

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

3

RW
0
2

1
0
FLASH_FR
AME_DELA
Y[1:0]
RW
0

Flash line polarity

FLASH_LNUNIT

Flash line unit, 0~15 lines

FLASH_LNUNIT_NO

Flash line unit count

FLASH_FRAME_DELAY Flash frame delay

CAM +01D8h CAM RESET Register
Bit
Name
Type
Reset
Bit
Name

31

30

29

28

27

26

25

24

23

22

21

20

19
18
17
TG_STATUS
R

15

14

13

12

11

10

9

8

7

6

5

4

3

ISP_FRAME_COUNT[7:0]

MT
K

Type
Reset

CAM_RESET

ISP_FRAME_COUNT
ISP_RESET

RW
0

2

1

16

0
ISP_
RES
ET
RW
0

ISP frame counter
ISP reset

401/616

MediaTek Inc. Confidential

CAM +01DCh TG STATUS Register
31

30

29

Name
Type
Reset
Bit
Name
Type
Reset

15

14

13

28
SYN_
VFON
R

27

12

11

26

TG_STATUS
25

24

23

22

21

20

19

18

7
6
5
4
PIXEL_COUNT[11:0]
R

3

2

LINE_COUNT[11:0]
R
10

9

8

SYN_VFON
TG view finder status
LINE_COUNT TG line counter
PIXEL_COUNT TG pixel counter

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Histogram Boundary Control Register3

31

30

29

15

14

13

H6_BND
H7_BND
H8_BND
H9_BND

30

15

14

13

28
27
HA_BND
R/W
a0h
12
11
HC_BND
R/W
c0h

1

0

24

10

9

8

23

22

21

7

6

5

20
19
H7_BND
R/W
70h
4
3
H9_BND
R/W
90H

CAM_HIS2
18

17

16

2

1

0

Histogram Boundary Control Register4
29

16

CAM_HIS3

26

25

24

23

22

21

10

9

8

7

6

5

20
19
HB_BND
R/W
b0h
4
3
HD_BND
R/W
d0H

18

17

16

2

1

0

20
19
HF_BND
R/W
f0h
4
3

18

17

16

2

1

0

Histogram level A up boundary value
Histogram level B up boundary value
Histogram level C up boundary value
Histogram level D up boundary value

CAM+01E8h

Histogram Boundary Control Register5

30

29

15

14

13

MT
K

31

HDE_ND

25

Co
nf
id
en
tia
l

31

HA_BND
HB_BND
HC_BND
HD_BND

Bit
Name
Type
Reset
Bit
Name
Type
Reset

26

Histogram level 6 up boundary value
Histogram level 7 up boundary value
Histogram level 8 up boundary value
Histogram level 9 up boundary value

CAM+01E4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

28
27
H6_BND
R/W
60h
12
11
H8_BND
R/W
80h

Re
lea
se

CAM+01E0h

17

fo
r

Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

28
27
HE_BND
R/W
e0h
12
11

CAM_HIS4

26

25

24

23

22

21

10

9

8

7

6

5

Histogram level E up boundary value

402/616

MediaTek Inc. Confidential

HEF_ND

Histogram level F up boundary value

CAM+01ECh

CAM_HISRLT5

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLT6[15:0]
RO
0

5

CAM_HISRLT6 Histogram level 6 count result

CAM+01F0h

CAM Histogram Result 7

31

30

29

28

27

26

25

15

14

13

12

11

10

9
8
7
6
CAM_HISRLT7[15:0]
RO
0

24

CAM_HISRLT7 Histogram level 7 count result

CAM+01F4h

CAM Histogram Result 8

23

0

22

21

20
19
18
17
CAM_HISRLT7[21:16]
RO
0
4
3
2
1

5

16

0

CAM_HISRLT7

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLT8[15:0]
RO
0

5

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

16

CAM_HISRLT6

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

20
19
18
17
CAM_HISRLT6[21:16]
RO
0
4
3
2
1

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM Histogram Result 6

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20
19
18
17
CAM_HISRLT8[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLT8 Histogram level 8 count result

CAM+01F8h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CAM Histogram Result 9

24

23

CAM_HISRLT8

29

28

27

26

25

22

21

13

12

11

10

9
8
7
6
CAM_HISRLT9[15:0]
RO
0

5

20
19
18
17
CAM_HISRLT9[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLT9 Histogram level 9 count result

CAM+01FCh
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM Histogram Result 10

15

14

13

24

23

CAM_HISRLT9

28

27

26

25

22

21

12

11

10

9
8
7
6
CAM_HISRLTA[15:0]
RO
0

5

403/616

20
19
18
17
CAM_HISRLTA[21:16]
RO
0
4
3
2
1

16

0

MediaTek Inc. Confidential

CAM_HISRLTA Histogram level 10 count result

CAM+0200h

CAM_HISRLTA

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLTB[15:0]
RO
0

5

CAM_HISRLTB Histogram level 11 count result

CAM+0204h

CAM Histogram Result 12

31

30

29

28

27

26

25

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLTC[15:0]
RO
0

5

24

CAM_HISRLTC Histogram level 12 count result

Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CAM Histogram Result 13
29

28

27

26

25

23

13

12

11

10

0

20
19
18
17
CAM_HISRLTC[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLTC

24

23

22

21

9
8
7
6
CAM_HISRLTD[15:0]
RO
0

5

Co
nf
id
en
tia
l

CAM+0208h

16

CAM_HISRLTB

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

20
19
18
17
CAM_HISRLTB[21:16]
RO
0
4
3
2
1

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM Histogram Result 11

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

20
19
18
17
CAM_HISRLTD[21:16]
RO
0
4
3
2
1

16

0

CAM_HISRLTD Histogram level 13 count result

CAM+020Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

CAM_HISRLTE

CAM+0210h

24

23

CAM_HISRLTD

29

28

27

26

25

22

21

13

12

11

10

9
8
7
6
CAM_HISRLTE[15:0]
RO
0

5

20
19
18
17
CAM_HISRLTE[21:16]
RO
0
4
3
2
1

16

0

Histogram level 14 count result

CAM Histogram Result 15

24

23

CAM_HISRLTE

31

30

29

28

27

26

25

22

21

15

14

13

12

11

10

9
8
7
6
CAM_HISRLTF[15:0]
RO

5

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

CAM Histogram Result 14

404/616

20
19
18
17
CAM_HISRLTF[21:16]
RO
0
4
3
2
1

16

0

MediaTek Inc. Confidential

Reset

0

CAM_HISRLTF

Histogram level 15 count result

CAM_SHADING
1

CAM+00214h Shading Cotrol 1 Register

Type
Reset
Bit
Name
Type
Reset

30
29
28
SHAD SHAD
SHAD
ING_ ING_
ING_E
RANG RANG
N
E[8] E_EN
RW
RW
RW
0
0
0
15
14
13
12
RADIUS_FA
K_FACTOR
CTOR
R/W
R/W
0
0

27

26

25

24

23

22

21

20

19

18

17

16

SHADING_CENTERY[11:0]
RW
0
11

10

9

8

7

6

5

4

fo
r

Name

31

3

2

1

0

SHADING_CENTERX[11:0]
RW
0

SHADING_RANGE[8]

Shading range bit 8

SHADING_RANGE_EN

Shading range enable

SHADING_EN

Shading enable

Re
lea
se

Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Shading_out = Shading_in*(1+Compensation_Ratio)
Where

Compensation_Ratio = Effective_Range*(K>>(26-K_FACTOR))

K = KR when R pixel, KG when G pixel, KB when B pixel
Shading parameter factor, used to scale up parameter.

RADIUS_FACTOR

Radius factor, select effective radius range.

Co
nf
id
en
tia
l

K_FACTOR

Effective_Range = ((effective_diffx)^2) + ((effective_diffy)^2)

Where effective_diffx = (x-centerx)>>(3-RADIUS_FACTOR)
effective_diffy = (y-centery)>>(3-RADIUS_FACTOR)

Because of hardware limitation,

effective maximum radius(range between center) is

00

Effective maximum radius : 4095

01

Effective maximum radius : 2047

02

Effective maximum radius : 1023

03

Effective maximum radius : 511
Shading center y coordinate x 2

SHADING_CENTERX

Shading center x coordinate x 2

MT
K

SHADING_CENTERY

CAM+0218h
Bit
Name
Type

31

30

CAM_SHADING
2

Shading Control 2 Register
29
28
27
26
SHADING_KR[7:0]
RW

25

24

23

405/616

22

21
20
19
18
SHADING_KG[7:0]
RW

17

16

MediaTek Inc. Confidential

15

0
13
12
11
10
SHADING_KB[7:0]
RW
0

14

9

8

7

SHADING_KR

Shading R pixel parameter

SHADING_KG

Shading G pixel parameter

SHADING_KB

Shading B pixel parameter

SHADING_RANGE

Shading range, bit8 refer to 0x214 bit 30

Bit

31

30

15

14

29

28
27
26
25
24
SHAD
SHAD
SHADING_C
ING_
ING_I
CURV
URVE_SEL
VT
E_EN
R/W
R/W
R/W
0
0
0
13
12
11
10
9
8
SHADING_R_B2
R/W
40h

CAM+0220h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

23

21

20

19

18

17

16

4
3
2
SHADING_R_B3
R/W
60h

1

0

R/W
20h

7

6

5

Shading curve enable
Shading curve output invert
Shading curve input selection
1/8 Effective_Range input
1/4 Effective_Range input
1/2 Effecitve_Range input
Effective Range input
R shading curve operating B1 value
R shading curve operating B2 value
R shading curve operating B3 value

28
27
26
SHADING_R_B4
R/W
80h
13
12
11
10
SHADING_R_B6
R/W
A0h

MT
K

SHADING_R_B4
SHADING_R_B5
SHADING_R_B6
SHADING_R_B7

22

CAM_SRCURV
E1

Shading R Curve Register 2
29

0

SHADING_R_B1

Co
nf
id
en
tia
l

SHADING_CURVE_EN
SHADING_IVT
SHADING_CURVE_SEL
00
01
02
03
SHADING_R_B1
SHADING_R_B2
SHADING_R_B3

1

CAM_SRCURV
E0

Shading R Curve Register 1

Name
Type
Reset
Bit
Name
Type
Reset

0
5
4
3
2
SHADING_RANGE[7:0]
R/W
Ff

Re
lea
se

CAM+021Ch

6

fo
r

Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

25

24

23

22

9

8

7

6

21

20
19
18
SHADING_R_B5
R/W
90h
5
4
3
2
SHADING_R_B7
R/W
B0h

17

16

1

0

R shading curve operating B4 value
R shading curve operating B5 value
R shading curve operating B6 value
R shading curve operating B7 value

406/616

MediaTek Inc. Confidential

31

30

15

14

29

28
27
26
SHADING_R_B8
R/W
C0h
13
12
11
10
SHADING_R_B10
R/W
E0h

SHADING_R_B8
SHADING_R_B9
SHADING_R_B10
SHADING_R_B11

CAM+0228h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

31

30

15

14

29

28
27
26
SHADING_G_B1
R/W
20h
13
12
11
10
SHADING_G_B3
R/W
60h

31

30

9

8

7

6

21

20
19
18
SHADING_R_B9
R/W
D0h
5
4
3
2
SHADING_R_B11
R/W
F0h

25

24

9

8

17

16

1

0

CAM_SGCURV
E0

23

22

7

6

21

20
19
18
SHADING_G_B2
R/W
40h
5
4
3
2
SHADING_G_B4
R/W
80h

17

16

1

0

G shading curve operating B1 value
G shading curve operating B2 value
G shading curve operating B3 value
G shading curve operating B4 value

CAM_SGCURV
E1

Shading G Curve Register 2
29

28
27
26
SHADING_G_B5
R/W
90h
13
12
11
10
SHADING_G_B7
R/W
B0h

25

24

23

22

9

8

7

6

21

20
19
18
SHADING_G_B6
R/W
A0h
5
4
3
2
SHADING_G_B8
R/W
C0h

17

16

1

0

G shading curve operating B5 value
G shading curve operating B6 value
G shading curve operating B7 value
G shading curve operating B8 value

CAM_SGCURV
E2

Shading G Curve Register 3

MT
K
Bit
Name
Type
Reset

22

Shading G Curve Register 1

SHADING_G_B5
SHADING_G_B6
SHADING_G_B7
SHADING_G_B8

CAM+0230h

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

24

R shading curve operating B8 value
R shading curve operating B9 value
R shading curve operating B10 value
R shading curve operating B11 value

SHADING_G_B1
SHADING_G_B2
SHADING_G_B3
SHADING_G_B4

CAM+022Ch

25

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM_SRCURV
E2

Shading R Curve Register 3

Re
lea
se

CAM+0224h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

29

28
27
26
SHADING_G_B9
R/W
D0h

25

24

23

407/616

22

21
20
19
18
SHADING_G_B10
R/W
E0h

17

16

MediaTek Inc. Confidential

14

13

SHADING_G_B9
SHADING_G_B10
SHADING_G_B11

CAM+0234h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

31

30

15

14

15

14

29

28
27
26
SHADING_B_B1
R/W
20h
13
12
11
10
SHADING_B_B3
R/W
60h

31

30

15

14

5

29

SHADING_B_B9
SHADING_B_B10
SHADING_B_B11

4

3

2

1

0

CAM_SBCURV
E0

25

24

23

22

9

8

7

6

Shading B Curve Register 2
28
27
26
SHADING_B_B5
R/W
90h
13
12
11
10
SHADING_B_B7
R/W
B0h

21

20
19
18
SHADING_B_B2
R/W
40h
5
4
3
2
SHADING_B_B4
R/W
80h

17

16

1

0

25

24

CAM_SGCURV
E1

23

9

8

7

22

6

21

20
19
18
SHADING_B_B6
R/W
A0h
5
4
3
2
SHADING_B_B8
R/W
C0h

17

16

1

0

G shading curve operating B5 value
G shading curve operating B6 value
G shading curve operating B7 value
G shading curve operating B8 value

CAM_SBCURV
E2

Shading B Curve Register 3
29

28
27
26
SHADING_B_B9
R/W
D0h
13
12
11
10
SHADING_B_B11
R/W
F0h

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

6

B shading curve operating B1 value
B shading curve operating B2 value
B shading curve operating B3 value
B shading curve operating B4 value

SHADING_B_B5
SHADING_B_B6
SHADING_B_B7
SHADING_B_B8

CAM+023Ch

7

Co
nf
id
en
tia
l

30

8

Shading B Curve Register 1

CAM+0238h
31

9

G shading curve operating B9 value
G shading curve operating B10 value
G shading curve operating B11 value

SHADING_B_B1
SHADING_B_B2
SHADING_B_B3
SHADING_B_B4

Bit
Name
Type
Reset
Bit
Name
Type
Reset

12
11
10
SHADING_G_B11
R/W
F0h

fo
r

15

Re
lea
se

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

25

24

23

22

9

8

7

6

21
20
19
18
SHADING_B_B10
R/W
E0h
5
4
3
2

17

16

1

0

B shading curve operating B9 value
B shading curve operating B10 value
B shading curve operating B11 value

408/616

MediaTek Inc. Confidential

CAM+0240h
Bit

Revision 1.0

CAM IMAGE-PROCOR HUE Register 1

CAM_HUE0

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12
11
HUE11
RW
40h

10

9

8

7

6

5

4
3
HUE12
RW
0

2

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM IMAGE-PROCOR HUE Register 2

31

30

29

15

14

13

28
27
HUE21
RW
0
12
11

26

25

24

10

9

8

23

22

7

6

1

16
HUE
_EN
RW
0
0

CAM_HUE1

21

20
19
HUE22
RW
40
4
3

Re
lea
se

CAM+0244h

17

fo
r

Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

5

18

17

16

2

1

0

HUE_EN Hue enable
This register controls the parameter of hue adjustment for the image. The effect is performed on the U and V
component of YUV color space. The user should specify the coefficients that form the transformation matrix. The
formula is listed as follows:

u0
C11 C12 ui
=
⋅
vo
C 21 C 22 vi

Co
nf
id
en
tia
l

C11 = 64 cosθ , C12 = 64 sin θ , C 21 = −64 sin θ , C 22 = 64 cosθ

where

The coefficients are in 2’s complement format and range from C0h to 40h (from –64 to 64 in decimal, while 64 is
normalized to 1 corresponding to cosine values). Any value beyond this range is invalid.
For example, to rotate the color space counterclockwise by 30 degree, the coefficients should be 37h, 20h, e0h, and
37h.
HUE11
HUE12
HUE21
HUE22

The coefficient C11 of the transformation matrix in 2’s complement format.
The coefficient C12 of the transformation matrix in 2’s complement format.
The coefficient C21 of the transformation matrix in 2’s complement format.
The coefficient C22 of the transformation matrix in 2’s complement format.

CAM +0248h
31

30

15

14

CAM_DEBUG

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

CAM GMC DEBUG Register

CAM +024Ch CAM VERSION Register
Bit

31

30

29

28

27

26

25

CAM_VERSION
24

23

409/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

YEAR[16:0]
R

YEAR
MONTH
DATE

6.15

14

13

12
11
MONTH[15:0]
R

10

9

8

7

6

5

4
3
DATE[15:0]
R

Year ASCII
Month ASCII
Date ASCII

Image DMA

6.15.1

2

1

0

fo
r

15

General Description

Re
lea
se

Name
Type
Reset
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Image DMA plays the role of moving image data between different image modules and memory.
interconnections around Image DMA. The major functions of Image DMA are list below.
Data movement
Color format conversion (RGB565

RGB888, YUV444

Data stream flow control on JPEG Encoder DMA

YUV420, YUV444

illustrates the

YUV422)

Auto double buffer switching for video capture/playback

Hardware handshaking with LCD DMA, and direct couple interface to LCD DMA
Image panning

Co
nf
id
en
tia
l

Supporting BMP image file formats.

MT
K

Image DMA consists of nine DMA engines. They are JPEG Encode DMA, Video Encode DMA, Video Decode DMA,
Image Buffer Write 1 DMA (IBW1 DMA), Image Buffer Write 2 DMA (IBW2 DMA), Image Buffer Write 3 DMA
(IBW3 DMA), Image Buffer Write 4 DMA (IBW4 DMA), Image Buffer Read 1 DMA (IBR1 DMA), and Image Buffer
Read 2 DMA (IBR2 DMA). Each DMA engine has specific purposes. The details of each DMA engine are described in
following sections.

410/616

MediaTek Inc. Confidential

Image Process Engine
By Pixel
YUV444

By Pixel
RGB888

Resizer

fo
r

JPEG
Encoder

Image DMA

By Pixel
YUV444

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

By Block

LCD IF

0

By Pixel

By Pixel

LCD
Frame
Buffer
(RGB 565/
RGB888)

Image
Buffer
(RGB 565/
RGB888)

Image
Buffer
(RGB 565/
RGB 888/
BGR 888)

DC Mode

Figure 30 inter-connection around Image DMA

6.15.1.1

JPEG Encoder DMA

By Pixel

By Pixel

Re
lea
se

1

By Pixel

Video
Buffer
(YUV420)

JPEG
Encode
Line
Buffer
(YUV422/
YUV420)

The main function of JPEG Encoder DMA is to receive YUV 444 data from Image Engine by pixels and transmit
YUV422/ YUV420 data to JPEG Encoder by 8 X 8 blocks.
Flow Control

Co
nf
id
en
tia
l

6.15.1.1.1

To achieve pixel to block conversion, line buffer must be given, and its line count must be multiple of 8. For better
performance, it’s recommended to have a minimum of 16 lines of buffer. For applications where images capturing from
the camera, because the data stream from camera can not be stopped, the number of lines must not be less than 16, (24
lines or more is recommended). Otherwise, data may be lost in the interface between the Image Signal Process and
Capture Resize modules.
6.15.1.1.2

Data format conversion

Since the JPEG encoder needs data of signed 2’s complement format. The JPEG Encoder DMA takes the responsibility
to handle the data format conversion. Each of Y, U, or V component values of input data is of 8-bit unsigned format,
which represents a value ranging from 0 to 255. The component value of the data is converted into 8-bit 2’s
complement format, which represents a value ranging from –128 to 127.
6.15.1.1.3

Padding

MT
K

For pictures whose frame size are not multiples of 16 X 8 blocks for YUV422 mode or 16 X 16 blocks for YUV420
mode, JPEG Encoder DMA takes the responsibility to handle the image boundary. In horizontal direction, JPEG
Encoder DMA automatically pads the last pixel of every line to the tail of the corresponding line until the number of
pixels in the line is multiple of 16. Similarly, JPEG Encoder pads the last line to the tail of the image frame until the
line count is multiples of 8 for YUV422 mode or 16 for YUV420 mode in vertical direction. An example of YUV422
mode is illustrated in . In this case, the original frame size is (16n + 13) X (8n + 6), which is not multiple of 16 X 8.
Therefore, three additional pixels are padded to the end of each line to make the pixel count multiple of 16. In the
vertical direction, two more lines are padded with last line to make line count to multiple of 8.

411/616

MediaTek Inc. Confidential

16n+13

Original Frame
Padded Frame

Revision 1.0

Figure 31 Frame Padding for YUV422 mode
6.15.1.1.4

Gray Mode

Re
lea
se

fo
r

8n+6

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

JPEG Encoder DMA also supports Gray Image JPEG Encoding. That is, only Y components are transmitted to JPEG
Encoder for Encoding. For memory and bus bandwidth saving, U and V components are truncated before writing into
buffer memory. As a result, the memory size in gray mode will be half of what it is in YUV422 mode.
Furthermore, the frame padding is a little different from that in normal mode. JPEG Encode DMA will construct the
frame to the multiple of an 8 X 8 block instead of a 16 X 8 or 16 X 16 block in normal mode.
6.15.1.1.5

Auto-Restart

6.15.1.2

Co
nf
id
en
tia
l

To overlap the Codec processing time with that of file system manipulations, an Auto-Restart mode is designed. JPEG
Encoder DMA automatically restarts itself to receive next frame without being re-configured and re-enabled by MCU.
This can enhance the Shot-to-Shot Delay performance a lot since the file system manipulations would take a long time.
JPEG Encoder DMA will not stop transfer until it is disabled by MCU. Note that associated settings must be
programmed in the Capture/Post Resize and other Image Engines as well.

Video Encode DMA

The main function of the Video Encode DMA is to move data from Capture Resize to Video Buffer. Video Buffer is
used to contain YUV420 image data for MPEG4/H.263 codec. It consists of three continuous memory buffers for Y, U,
and V component data.
For MPEG4/H.263 encoding, Video Encode DMA receives data from Capture Resize, and converts it into YUV420
format, and then writes into Y, U, V buffer separately. Software starts MPEG4/H.263 encoder after all of the frame data
are ready.
6.15.1.2.1

Auto-Restart

MT
K

To reduce MCU interrupt frequency, an Auto-Restart mode is designed. Video DMA automatically restarts itself to
receive next frame without being re-configured and re-enabled by MCU. This can save a lot of MCU time since the
MCU no longer needs to handle Image DMA at each frame boundary, which also makes the data stream smoother.
Usually, double buffer scheme are employed to smooth video encoding. Therefore, the second base address register is
provided in Video DMA to contain the second address. Video DMA automatically switches the base address between
the two addresses at every restart. For the case of single buffer scheme, the two base address registers have to be
programmed with the same address. Video DMA will not stop transfer until it is disabled by MCU. Note that associated
settings must be programmed in Capture Resize and Image Engine as well.

412/616

MediaTek Inc. Confidential

6.15.1.3

Video Decode DMA

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The main function of the Video Decode DMA is to move data from Video Buffer to Post Resize. Video Buffer is used
to contain YUV420 image data after MPEG4/H.263 codec. It consists of three continuous memory buffers for Y, U, and
V component data. Data format for the Post Resize is YUV444, and therefore color format conversion is needed during
data movement.

6.15.1.4

fo
r

For MPEG4/H.263 decoding, MPEG4/H.263 decoder writes out decoded data to video buffer, and Video Decode DMA
is then triggered by software to move data to the Post Resize.

Image Buffer Write 1, 2 DMA

6.15.1.4.1

Auto-Restart

Re
lea
se

The main function of IBW1, IBW2 DMA is to move RGB data from Image Engine to memory or LCD, and the format
of the written data is RGB565 or RGB888. IBW1 plays the role of saving the backup image. Whenever JPEG DMA,
Video DMA, or IBW2 DMA is dumping images, IBW1 can be enabled to dump a backup image simultaneously.
Besides, IBW1 also plays the role of writing local display under videophone scenario.

IBW1, IBW2 DMA can restart itself to receive next frame, and switch base address at every restart.
6.15.1.4.2

Hardware Handshake with LCD DMA

IBW1, IBW2 DMA issues interrupt along with the base address of the LCD buffer to LCD DMA at the end of frame
transfer. LCD DMA could start moving data into LCD based on the signals.
The advantage of hardware handshaking is to reduce interrupts to MCU. This could make system more efficient.
6.15.1.4.3

Direct Couple to LCD DMA

Co
nf
id
en
tia
l

A more efficient and memory saving way to move frame data to LCD is through Direct Couple Interface. The interface
is between IBW1, IBW2 DMA and LCD, as depicted in , and consists of request, acknowledge, and 24-bit data bus. In
this mode, frame data skips the frame buffer and are written to LCD directly. LCD updates the data on the fly.
However this mode cannot work in camera preview. This is because LCD update could halt for a long time, and
therefore the next pixel data from the camera may not be captured in time. Thus, resulting in lost data.
6.15.1.4.4

Image Panning

IBW1, IBW2 DMA can grab a part of the image frame as a new image, as illustrated in . The advantage is that the
system does not need to prepare a large piece of memory to store the entire image frame just to show a small portion of
it. This can save memory usage, especially for large images. The detailed usage is shown in the register definition of
IMGDMA_IBW2_CON, IMGDMA_IBW2_CON.
6.15.1.4.5

Destination Pitch

To write the memory, a pitch register is defined to indicate the memory address jump per line for each base address.
This can save memory usage when writing a rectangular area of a LCD layer.

6.15.1.5

Image Buffer Write 3,4 DMA

MT
K

The main function of IBW3 DMA is to move data from a Pixel Image Engine to the DRZ, and the format is YUV444 or
RGB888. IBW3 provides the route for thumbnail image dumping. The main function of IBW4 DMA is to move data
from a Pixel Image Engine to the PRZ, and the format is YUV444 or RGB888. IBW4 provides the route for preview
scenario.

413/616

MediaTek Inc. Confidential

6.15.1.5.1

Auto-Restart

IBW3 DMA can restart itself to receive next frame.

6.15.1.6

Image Buffer Read 1 DMA

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The main function of IBR1 DMA is to move RGB data from memory to Image Post Processor. The data format to
Image Post Processor is RGB888 and the data formats from memory can be RGB565, RGB888 and BGR888 (which
support BMP data format). The data placement in memory is illustrated in .

fo
r

With IBR1 DMA, RGB image data in memory can be directly used for video encoding, JPEG encoding, and image
panning.
RGB 565

Byte

14

13

12

11

10

9

8

R

RGB 888

7

6

5

4

3

2

1

0

Re
lea
se

15

G

B

Byte

15

R
G
B

14

13

12

11

10

9

12

11

10

9

BGR 888

8

7

6

5

4

3

2

1

8

7

6

5

4

3

2

1

0

Byte

15

14

13

0

6.15.1.7

Co
nf
id
en
tia
l

Figure 32 RGB data in memory

Image Buffer Read 2 DMA

The main function of IBR2 DMA is to read photo frame from memory, resize it to the capturing image size, look-up
palette table and overlay it onto the capturing image. The photo frame mask data format can be 1, 2, 4, 8-bpp color
index modes. A 256-entries in 24-bit YUV format palette provides a color index to color value lookup table.
6.15.1.7.1

Auto-Restart

IBR2 DMA can restart itself to read the same photo frame again and again while video capture scenario.

6.15.2

DMA Enabling Sequence

In general, the DMAs at the downstream of the data path must be enabled first. For instance, for Video capturing, the
data path is Camera module
Capture Resize
Image Engine
Video DMA
Video Buffer. Video DMA has
to be enabled before Image Processor, Capture Resize and Camera module.
The second example is video playback. The data path is Video Buffer
IBW2 DMA

Video DMA

Post Resize

IPP Engine

LCD frame buffer. IBW2 DMA has to be enabled before Post Resize and Image Engine and then

MT
K

Video DMA.

6.15.3

Register Definitions

Register Address

Register Function

Acronym

IMGDMA + 0000h

Image DMA Status Register

IMGDMA_STA

414/616

MediaTek Inc. Confidential

IMGDMA_ACKINT

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
IMGDMA + 0004h

Image DMA Interrupt Acknowledge Register

IMGDMA + 0100h

JPEG DMA Start Register

IMGDMA_JPEG_STR

IMGDMA + 0104h

JPEG DMA Control Register

IMGDMA_JPEG_CON

IMGDMA + 0108h

JPEG DMA Base Address Register

IMGDMA_JPEG_BSADDR
IMGDMA_JPEG_HSIZE

IMGDMA + 010Ch JPEG DMA Horizontal Size Register
JPEG DMA Vertical Size Register

IMGDMA_JPEG_VSIZE

JPEG DMA FIFO Length Register

IMGDMA_JPEG_FIFOLEN

IMGDMA + 0118h

JPEG Write Pointer Register

IMGDMA_JPEG_WRPTR

fo
r

IMGDMA + 0110h
IMGDMA + 0114h

IMGDMA_JPEG_WRHCNT

IMGDMA + 011Ch JPEG Write Horizontal Count Register
IMGDMA + 0120h

JPEG Write Vertical Count Register

IMGDMA_JPEG_WRVCNT

IMGDMA + 0124h

JPEG Read Pointer Register

IMGDMA_JPEG_RDPTR

IMGDMA + 0128h

JPEG Read Horizontal Count Register

IMGDMA_JPEG_RDHCNT

Re
lea
se

IMGDMA_JPEG_RDVCNT

IMGDMA + 012Ch JPEG Read Vertical Count Register

IMGDMA_JPEG_FFCNT

IMGDMA + 0130h

JPEG FIFO Line Count Register

IMGDMA + 0134h

JPEG FIFO Write Line Index Register

IMGDMA + 0138h

JPEG FIFO Read Line Index Register

IMGDMA + 0200h

Video Encode DMA Start Register

IMGDMA_JPEG_FFWRLIDX

IMGDMA_JPEG_FFRDLIDX
IMGDMA_VDOENC_STR

IMGDMA_VDOENC_CON

Video Encode DMA Control Register

Video Encode DMA Y Base Address 1 Register

IMGDMA_VDOENC_Y_BASE1

IMGDMA + 0214h

Video Encode DMA U Base Address 1 Register

IMGDMA_VDOENC_U_BASE1

IMGDMA + 0218h

Video Encode DMA V Base Address 1 Register

IMGDMA_VDOENC_V_BASE1

IMGDMA + 0220h

Video Encode DMA Y Base Address 2 Register

IMGDMA_VDOENC_Y_BASE2

IMGDMA + 0224h

Video Encode DMA U Base Address 2 Register

IMGDMA_VDOENC_U_BASE2

Co
nf
id
en
tia
l

IMGDMA + 0204h
IMGDMA + 0210h

IMGDMA + 0228h

Video Encode DMA V Base Address 2 Register

IMGDMA_VDOENC_V_BASE2

IMGDMA + 0230h

Video Encode DMA Horizontal Size Register

IMGDMA_VDOENC_HSIZE

IMGDMA + 0234h

Video Encode DMA Vertical Size Register

IMGDMA_VDOENC_VSIZE

IMGDMA + 0238h

Video Encode DMA Horizontal Count Register

IMGDMA_VDOENC_HCNT

IMGDMA + 023Ch Video Encode DMA Vertical Count Register

IMGDMA_VDOENC_VCNT

IMGDMA + 0280h

IMGDMA_VDODEC_STR

Video Decode DMA Start Register

IMGDMA + 0284h

Video Decode DMA Control Register

IMGDMA_VDODEC_CON

IMGDMA + 0290h

Video Decode DMA Y Base Address 1 Register

IMGDMA_VDODEC_Y_BASE1

IMGDMA + 0294h

Video Decode DMA U Base Address 1 Register

IMGDMA_VDODEC_U_BASE1

IMGDMA + 0298h

Video Decode DMA V Base Address 1 Register

IMGDMA_VDODEC_V_BASE1
IMGDMA_VDODEC_Y_BASE2
IMGDMA_VDODEC_U_BASE2

IMGDMA + 02A8h Video Decode DMA V Base Address 2 Register

IMGDMA_VDODEC_V_BASE2

IMGDMA + 02B0h Video Decode DMA Horizontal Size Register

IMGDMA_VDODEC_HSIZE

IMGDMA + 02B4h Video Decode DMA Vertical Size Register

IMGDMA_VDODEC_VSIZE

IMGDMA + 02B8h Video Decode DMA Horizontal Count Register

IMGDMA_VDODEC_HCNT

IMGDMA + 02BCh Video Decode DMA Vertical Count Register

IMGDMA_VDODEC_VCNT

IMGDMA + 0300h

Image Buffer Write DMA1 Start Register

IMGDMA_IBW1_STR

IMGDMA + 0304h

Image Buffer Write DMA1 Control Register

IMGDMA_IBW1_CON

MT
K

IMGDMA + 02A0h Video Decode DMA Y Base Address 2 Register

IMGDMA + 02A4h Video Decode DMA U Base Address 2 Register

415/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Image Buffer Write DMA1 Base Address 1 Register

IMGDMA_IBW1_BSADDR1

IMGDMA + 030Ch Image Buffer Write DMA1 Base Address 2 Register

IMGDMA_IBW1_BSADDR2

IMGDMA + 0310h

Image Buffer Write DMA1 Horizontal Size

IMGDMA_IBW1_HSIZE

IMGDMA + 0314h

Image Buffer Write DMA1 Vertical Size

IMGDMA_IBW1_VSIZE

IMGDMA + 0318h

Image Buffer Write DMA1 CLIP LR

IMGDMA_IBW1_CLIPLR

IMGDMA + 0308h

IMGDMA_IBW1_CLIPTB

Image Buffer Write DMA1 Destination Pitch 1

IMGDMA_IBW1_DPITCH1

IMGDMA + 0324h

Image Buffer Write DMA1 Destination Pitch2

IMGDMA_IBW1_DPITCH2

IMGDMA + 0328h

Image Buffer Write DMA1 Horizontal Count

IMGDMA_IBW1_HCNT

fo
r

IMGDMA + 031Ch Image Buffer Write DMA1 CLIP TB
IMGDMA + 0320h

IMGDMA_IBW1_VCNT

Image Buffer Write DMA2 Start Register

IMGDMA_IBW2_STR

IMGDMA + 0404h

Image Buffer Write DMA2 Control Register

IMGDMA_IBW2_CON

IMGDMA + 0408h

Image Buffer Write DMA2 Base Address 1 Register

IMGDMA_IBW2_BSADDR1

IMGDMA + 040Ch Image Buffer Write DMA2 Base Address 2 Register

IMGDMA_IBW2_BSADDR2

IMGDMA + 0410h

Image Buffer Write DMA2 Horizontal Size

IMGDMA_IBW2_HSIZE

IMGDMA + 0414h

Image Buffer Write DMA2 Vertical Size

IMGDMA_IBW2_VSIZE

IMGDMA + 0418h

Image Buffer Write DMA2 CLIP LR

IMGDMA_IBW2_CLIPLR

IMGDMA + 041Ch Image Buffer Write DMA2 CLIP TB

Re
lea
se

IMGDMA + 032Ch Image Buffer Write DMA1 Vertical Count
IMGDMA + 0400h

IMGDMA_IBW2_CLIPTB

IMGDMA + 0420h

Image Buffer Write DMA2 Destination Pitch 1

IMGDMA_IBW2_DPITCH1

IMGDMA + 0424h

Image Buffer Write DMA2 Destination Pitch2

IMGDMA_IBW2_DPITCH2

IMGDMA + 0428h

Image Buffer Write DMA2 Horizontal Count

IMGDMA_IBW2_HCNT

IMGDMA + 042Ch Image Buffer Write DMA2 Vertical Count

IMGDMA_IBW2_VCNT

IMGDMA + 0500h

IMGDMA_IBW3_STR

Co
nf
id
en
tia
l

Image Buffer Write DMA3 Start Register

IMGDMA + 0504h

Image Buffer Write DMA3 Control Register

IMGDMA_IBW3_CON

IMGDMA + 0510h

Image Buffer Write DMA3 Horizontal Size

IMGDMA_IBW3_HSIZE

IMGDMA + 0514h

Image Buffer Write DMA3 Vertical Size

IMGDMA_IBW3_VSIZE

IMGDMA + 0528h

Image Buffer Write DMA3 Horizontal Count

IMGDMA_IBW3_HCNT

IMGDMA + 052Ch Image Buffer Write DMA3 Vertical Count

IMGDMA_IBW3_VCNT

IMGDMA + 0580h

IMGDMA_IBW4_STR

Image Buffer Write DMA4 Start Register

IMGDMA + 0584h

Image Buffer Write DMA4 Control Register

IMGDMA_IBW4_CON

IMGDMA + 0590h

Image Buffer Write DMA4 Horizontal Size

IMGDMA_IBW4_HSIZE

IMGDMA + 0594h

Image Buffer Write DMA4 Vertical Size

IMGDMA_IBW4_VSIZE

IMGDMA + 05A8h Image Buffer Write DMA4 Horizontal Count

IMGDMA_IBW4_HCNT

IMGDMA + 05ACh Image Buffer Write DMA4 Vertical Count

IMGDMA_IBW4_VCNT

IMGDMA + 0600h

Image Buffer Read DMA1 Start Register

IMGDMA_IBR1_STR

IMGDMA + 0604h

Image Buffer Read DMA1 Control Register

IMGDMA_IBR1_CON

IMGDMA + 0608h

Image Buffer Read DMA1 Base Address Register

IMGDMA_IBR1_BSADDR
IMGDMA_IBR1_PXLNUM

IMGDMA + 0610h

Image Buffer Read DMA1 Remaining Pixels

IMGDMA_IBR1_PXLCNT

IMGDMA + 0700h

Image Buffer Read DMA2 Start Register

IMGDMA_IBR2_STR

IMGDMA + 0704h

Image Buffer Read DMA2 Control Register

IMGDMA_IBR2_CON

IMGDMA + 0708h

Image Buffer Read DMA2 Base Address Register

IMGDMA_IBR2_BSADDR

MT
K

IMGDMA + 060Ch Image Buffer Read DMA1 Number of Pixels

416/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IMGDMA_IBR2_CFG

IMGDMA + 070Ch Image Buffer Read DMA2 Configuration Register
IMGDMA + 0710h

Image Buffer Read DMA2 Horizontal Size

IMGDMA_IBR2_HSIZE

IMGDMA + 0714h

Image Buffer Read DMA2 Vertical Size

IMGDMA_IBR2_VSIZE

IMGDMA + 0718h

Image Buffer Read DMA2 Horizontal Count

IMGDMA_IBR2_HCNT

IMGDMA + 071Ch Image Buffer Read DMA2 Vertical Count

IMGDMA_IBR2_VCNT

IMGDMA + 0800h
IMGDMA + 0bfch

IMGDMA_PAL00~FF

fo
r

Image Buffer Read DMA2 Palette memory

Table 53 Tracer Registers

Bit

31

30

29

28

27

26

24

23

22

21

20

IBW4 IBW3 IBR2 IBR1 IBW2 IBW1
RUN RUN RUN RUN RUN RUN

Name
Type
Reset
Bit

25

IMGDMA_STA

Re
lea
se

IMGDMA+000
Image DMA Status Register
0h

15

14

13

12

11

10

RO
0
9

RO
0
8

IBW4 IBW3
IT
IT

Name
Type
Reset

RO
0

RO
0

RO
0
7

IBR
2IT
RO
0

RO
0
6

RO
0
5

RO
0
4

IBR1 IBW2 IBW1
IT
IT
IT
RO
0

RO
0

RO
0

19
18
VDOD VDOE
EC NCR
RUN RUN
RO
RO
0
0
3
2
VDOE
VDOD
NCR
EC IT
IT
RO
RO
0
0

17
VDOE
NCW
RUN
RO
0
1
VDOE
NCW
IT
RO
0

16
JPEG
RUN
RO
0
0
JPEG
IT
RO
0

This register helps software program being well aware of the global status of Image DMA channels.

RUN

Interrupt status for DMA
2 No interrupt is generated.
3 An interrupt is pending and waiting for service.
DMA status
0 DMA is stopped or has completed the transfer already.
1 DMA is currently running.

Co
nf
id
en
tia
l

IT

IMGDMA+000
Image DMA Interrupt Acknowledge Register
4h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

13

12

11

10

IMGDMA_ACKI
NT

25

24

23

22

21

20

9

8

7

6

5

4

WO

WO

WO

WO

18

3
2
VDOD VDOE
EC NCR
ACK ACK
WO WO WO

IBW4 IBW3 IBR2 IBR1 IBW2 IBW1
ACK ACK ACK ACK ACK ACK
WO

19

17

16

1
0
VDOE
JPEG
NCW
ACK
ACK
WO WO

MT
K

This register is used to acknowledge the current interrupt request associated with the completion event of a DMA
channel by software program. Note that this is a write-only register, and any read to it will return a value of “0”.
ACK

Interrupt acknowledge for the DMA channel
0 No effect
1 Interrupt request is acknowledged and should be relinquished.

417/616

MediaTek Inc. Confidential

Revision 1.0

IMGDMA+010
JPEG DMA Start Register
0h

JPEG_STR

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

17

16

1

0
STR
R/W
0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

STR

Start control for a DMA channel
0 stop DMA
1 activate DMA

IMGDMA+010
JPEG DMA Control Register
4h
Bit
Name
Type
Reset
Bit

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Name

Re
lea
se

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations shall be
done by giving proper values.

23

22

21

20

7

6

5

4

PSEL
R/W
0

18

17

16

3
2
1
0
AUTO MODE MODE
IT
1
0
RSTR
R/W R/W R/W R/W
0
0
0
0

Co
nf
id
en
tia
l

Type
Reset

19

JPEG_CON

AUTO RSTR Automatic restart. JPEG Encoder DMA automatically restarts while current frame is finished.
0 Disable
1 Enable
MODE Interrupt Enabling
00 YUV422
01 Gray
10 YUV420
11 reserved
IT
Interrupt Enabling
0 Disable
1 Enable
PSEL Pixel engine selection
0 Capture resize
1 Post resize

IMGDMA+010
JPEG DMA Base Address Register
8h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

MT
K

Bit
Name
Type
Bit
Name
Type

24
23
ADDR[31:16]
R/W
8
7
ADR[15:0]
R/W

418/616

JPEG_BSADDR
22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Revision 1.0

ADDR Base address of the JPEG DMA FIFO.

IMGDMA+010
JPEG DMA Horizontal Size Register
Ch

JPEG_HSIZE

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
HSIZE
R/W

6

5

4

3

2

HSIZE Horizontal dimension of image. 0 stands for 1 pixels, and n-1 stands for n pixels.

IMGDMA+011
JPEG DMA Vertical Size Register
0h

16

1

0

JPEG_VSIZE

Re
lea
se

Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
VSIZE
R/W

6

5

4

3

2

1

0

VSIZE Vertical dimension of image. 0 stands for 1 pixels, and n-1 stands for n pixels.

IMGDMA+011
JPEG DMA FIFO Length Register
4h
31

30

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

13

12

11

10

9

8
7
FIFOLEN
R/W

JPEG_FIFOLEN

22

21

20

19

18

17

16

6

5

4

3

2

1

0

JPEG DMA FIFO Length must be the multiple of 8. The memory needed for a certain FIFO length is

HSIZE
× 16 × FIFOLEN × 2 bytes for YUV422 mode,
16
mode, and

HSIZE
× 16 × FIFOLEN × 3 bytes for YUV420
16

HSIZE
× 8 × FIFOLEN bytes for gray mode.
8

FIFOLEN
JPEG DMA FIFO Length. FIFOLEN must be the multiple of 8. recommended values are 24 for
YUV422 mode, 16 for YUV420 mode, and 16 for gray mode.

IMGDMA+011
JPEG Write Pointer Register
8h
31

30

15

14

29

28

27

26

13

12

11

10

MT
K

Bit
Name
Type
Bit
Name
Type

WRPTR

25

24
23
22
WRPTR[31:16]
RO
9
8
7
6
WRPTR[15:0]
RO

JPEG_WRPTR
21

20

19

18

17

16

5

4

3

2

1

0

Write pointer to display current writing address.

419/616

MediaTek Inc. Confidential

IMGDMA+011
JPEG Write Horizontal Count Register
Ch
Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

JPEG_WRHCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
WRHCNT
RO

6

5

4

3

2

17

16

1

0

fo
r

WRHCNT Displays the horizontal pixel count. This is a down-count counter. Hence this register reflects the
remaining pixels of a line.

IMGDMA+012
JPEG Write Vertical Count Register
0h
31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
WRVCNT
RO

6

5

4

3

2

1

0

WRVCNT

Displays the vertical pixel count. This is a down-count counter. Hence this register reflects the remaining
lines.

IMGDMA+012
JPEG Read Pointer Register
4h
31

30

15

14

29

28

27

26

25

24
23
22
RDPTR[31:16]
RO
8
7
6
RDPTR[15:0]
RO

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Re
lea
se

Bit
Name
Type
Bit
Name
Type

JPEG_WRVCNT

13

12

11

10

9

JPEG_RDPTR

21

20

19

18

17

16

5

4

3

2

1

0

RDPTR Read pointer to display current reading address.

IMGDMA+012
JPEG Read Horizontal Count Register
8h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

RDHCNT

JPEG_RDHCNT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
RDHCNT
RO

6

5

4

3

2

1

0

Displays the horizontal pixel count. This is a down-count counter. Hence this register reflects the
remaining pixels of a line.

MT
K

IMGDMA+012
JPEG Read Vertical Count Register
Ch
Bit
Name
Type
Bit
Name
Type

JPEG_RDVCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
RDVCNT
RO

6

5

4

3

2

1

0

420/616

MediaTek Inc. Confidential

RDVCNT

Displays the vertical pixel count. This is a down-count counter. Hence this register reflects the remaining
lines.

IMGDMA+013
JPEG FIFO Line Count Register
0h

JPEG_FFCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
FFCNT
RO

6

5

4

3

2

FFCNT

Displays the FIFO Line Count of JPEG FIFO.

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

0

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Displays which FIFO line JPEG DMA is writing. YIDX = 1 ~ FIFOLEN.

IMGDMA+013
JPEG Read Line Index Register
8h
30

15

14

29

28

27

26

25

24

JPEG_FFRDLID
X

23

Co
nf
id
en
tia
l

31

13

12

11

10

9

8

7

22

21

20

19

18

17

16

6

5

4

3

2

1

0

YIDX
RO

YIDX

Displays which FIFO line JPEG DMA is reading, YIDX = 1 ~ FIFOLEN.

IMGDMA+020
Video Encode DMA Start Register
0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

1

YIDX
RO

YIDX

Bit
Name
Type
Bit
Name
Type

16

JPEG_FFWRLI
DX

Re
lea
se

IMGDMA+013
JPEG Write Line Index Register
4h
Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

15

14

VDOENC_STR

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0
STR
R/W
0

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper values.
Start control for a DMA channel
0 stop DMA
1 activate DMA

MT
K

STR

421/616

MediaTek Inc. Confidential

IMGDMA+020
Video Encode DMA Control Register
4h

VDOENC_CON

31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

Name

PSEL RSEL

Type
Reset

R/W
0

R/W
0

20

19

18

4
3
2
AUTO
RD IT W2R
RSTR
R/W R/W R/W
0
0
0

17

16

1

0

WR IT

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

R/W
0

WR IT
WDMA Done Interrupt Enable. Interrupt issues when all of the transfers are done. For auto-restart mode,
interrupt issues at every restart.

Co
nf
id
en
tia
l

Re
lea
se

0 Disable
1 Enable
W2R WDMA hardware trigger to RDMA. While this function is enabled, Video Encode WDMA will write data to
video buffer first, and then a start pulse will issue to Video Encode RDMA to read back from the same buffer.
These data will pass through Resize to convert to LCD frame size.
0 Disable
1 Enable
RD IT RDMA Done Interrupt Enable.
0 Disable
1 Enable
AUTO RSTR Automatic restart. Video DMA automatically restarts while current frame is finished. Base address
will be automatically switched between VDO_BSADD1 and VDO_BSADDR2. For single buffer application,
please set VDO_BSADD1 and VDO_BSADDR2 with the same value.
0 Disable
1 Enable
RSEL RDMA output destination selection.
0 Post resize
1 Drop resize
PSEL WDMA input pixel engine selection
0 Capture resize
1 Post resize

IMGDMA+021
Video Encode Y Base Address 1 Register
0h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

VDOENC_Y_BA
SE1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MT
K

ADDR First base address of video frame buffer.

IMGDMA+021
Video Encode U Base Address 1 Register
4h
Bit
Name

31

30

29

28

27

26

25

24
23
ADDR
422/616

22

21

VDOENC_U_BA
SE1
20

19

18

17

16

MediaTek Inc. Confidential

Type
Bit
Name
Type

15

14

13

12

11

10

9

R/W
8
7
ADDR
R/W

6

5

4

3

2

ADDR First base address of video frame buffer.

IMGDMA+021
Video Encode VBase Address 1 Register
8h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

22

21

20

6

5

4

19

31

30

29

28

27

26

25

15

14

13

12

11

10

9

ADDR

24
23
ADDR
R/W
8
7
ADDR
R/W

Second base address of video frame buffer.

30

15

14

ADDR

Co
nf
id
en
tia
l

31

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

1

0

21

20

19

18

17

16

6

5

4

3

2

1

0

VDOENC_U_BA
SE2

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Second base address of video frame buffer.

31

30

15

14

ADDR

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

VDOENC_V_BA
SE2

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Second base address of video frame buffer.

MT
K

IMGDMA+023
Video Encode Horizontal Size Register
0h
Bit
Name
Type

2

16

22

IMGDMA+022
Video Encode V Base Address 2 Register
8h
Bit
Name
Type
Bit
Name
Type

17

VDOENC_Y_BA
SE2

IMGDMA+022
Video Encode U Base Address 2 Register
4h
Bit
Name
Type
Bit
Name
Type

18

3

IMGDMA+022
Video Encode Y Base Address 2 Register
0h
Bit
Name
Type
Bit
Name
Type

0

VDOENC_V_BA
SE1

Re
lea
se

ADDR First base address of video frame buffer.

1

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

31

30

29

28

27

26

25

24

23

423/616

22

VDOENC_HSIZ
E
21

20

19

18

17

16

MediaTek Inc. Confidential

Bit
Name
Type

15

14

13

12

11

10

9

8

7

6

5

4

3

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4
SIZE
R/W

19

18

17

16

3

2

1

0

fo
r

30

Re
lea
se

Vertical dimension of a video frame. 1 stands for 1 pixel, and n stands for n pixels. Note that the vertical
size must be multiple of 16.

IMGDMA+023
Video Encode Horizontal Count Register
8h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

COUNT

VDOENC_HCNT

23

22

21

20

19

18

17

16

7

6

5
4
COUNT
RO

3

2

1

0

Horizontal pixel count. 1 stands for 1 pixel, and n stands for n pixels.

31

30

15

14

COUNT

Co
nf
id
en
tia
l

IMGDMA+023
Video Encode Vertical Count Register
Ch

VDOENC_VCNT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4
COUNT
RO

3

2

1

0

Vertical pixel count. 1 stands for 1 pixel, and n stands for n pixels.

IMGDMA+028
Video Decode DMA Start Register
0h
31

30

15

14

VDODEC_STR

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0
STR
R/W
0

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

0

VDOENC_VSIZ
E

31

SIZE

Bit
Name
Type
Bit
Name
Type

1

Horizontal dimension of a video frame. 1 stands for 1 pixel, and n stands for n pixels. Note that the
horizontal size must be multiple of 16.

IMGDMA+023
Video Encode Vertical Size Register
4h

Bit
Name
Type
Bit
Name
Type

2

SIZE
R/W

SIZE

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper values.
STR

Start control for a DMA channel

424/616

MediaTek Inc. Confidential

0
1

stop DMA
activate DMA

IMGDMA+028
Video Decode DMA Control Register
4h

VDODEC_CON

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

Name
Type
Reset

17

16

1

0
DONE
IT
R/W
0

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

0
1

Disable
Enable

Re
lea
se

DONE IT DMA Done Interrupt Enabling. Interrupt issues when all of the transfers are done. For auto-restart mode,
interrupt issues at every restart.

IMGDMA+029
Video Decode Y Base Address 1 Register
0h
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

VDODEC_Y_BA
SE1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

ADDR First base address of video frame buffer.

IMGDMA+029
Video Decode U Base Address 1 Register
4h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

VDODEC_U_BA
SE1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR First base address of video frame buffer.

IMGDMA+029
Video Decode V Base Address 1 Register
8h
31

30

15

14

29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Bit
Name
Type

24
23
ADDR
R/W
8
7
ADDR
R/W

VDODEC_V_BA
SE1

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR First base address of video frame buffer.

425/616

MediaTek Inc. Confidential

IMGDMA+02A
Video Decode Y Base Address 2 Register
0h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

ADDR

24
23
ADDR
R/W
8
7
ADDR
R/W

VDODEC_Y_BA
SE2

22

21

20

19

18

6

5

4

3

2

Second base address of video frame buffer.

IMGDMA+02A
Video Decode U Base Address 2 Register
4h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

ADDR

24
23
ADDR
R/W
8
7
ADDR
R/W

22

Second base address of video frame buffer.

6

21

20

19

5

4

3

IMGDMA+02A
Video Decode V Base Address 2 Register
8h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

ADDR

24
23
ADDR
R/W
8
7
ADDR
R/W

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

0

18

17

16

2

1

0

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Second base address of video frame buffer.

31

30

15

14

SIZE

VDODEC_HSIZ
E

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE
R/W

Horizontal dimension of a video frame. 1 stands for 1 pixel, and n stands for n pixels. Note that the
horizontal size must be multiple of 16.

IMGDMA+02B
Video Decode Vertical Size Register
4h
31

30

29

MT
K

Bit
Name
Type
Bit
Name
Type

1

VDODEC_V_BA
SE2

IMGDMA+02B
Video Decode Horizontal Size Register
0h
Bit
Name
Type
Bit
Name
Type

16

VDODEC_U_BA
SE2

Re
lea
se

Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

15

14

13

VDODEC_VSIZ
E

28

27

26

25

24

23

22

21

20

19

18

17

16

12

11

10

9

8

7

6

5

4
SIZE
R/W

3

2

1

0

426/616

MediaTek Inc. Confidential

SIZE

Vertical dimension of a video frame. 1 stands for 1 pixel, and n stands for n pixels. Note that the vertical
size must be multiple of 16.

IMGDMA+02B
Video Decode Horizontal Count Register
8h

VDODEC_HCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5
4
COUNT
RO

3

2

COUNT

Horizontal pixel count. 1 stands for 1 pixel, and n stands for n pixels.

IMGDMA+02B
Video Decode Vertical Count Register
Ch
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

COUNT

1

0

23

22

21

20

19

18

17

16

7

6

5

4
COUNT
RO

3

2

1

0

Vertical pixel count. 1 stands for 1 pixel, and n stands for n pixels.

IMGDMA+030
Image Buffer Write DMA1 Start Register
0h
31

30

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

16

VDODEC_VCNT

Re
lea
se

Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

13

12

11

10

9

8

7

IBW1_STR

22

21

20

19

18

17

16

6

5

4

3

2

1

0
STR
R/W
0

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper value
STR

Start control for a DMA channel
0 stop DMA
1 activate DMA

IMGDMA+030
Image Buffer Write DMA1 Control Register
4h
31

30

15

14

29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit

Name
Type
Reset

IT

24

23

22

21

8
7
6
5
PSEL PSEL
888M PAN
1
0
R/W R/W R/W R/W
0
0
0
0

IBW1_CON
20

19

18

17

16

4

3
2
1
0
AUTO
DC
LCD PITCH IT
RSTR
R/W R/W R/W R/W R/W
0
0
0
0
0

Interrupt Enabling

427/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

CLIP_L

CLIP_R

Co
nf
id
en
tia
l

CLIP_T

Re
lea
se

fo
r

0 Disable
1 Enable
PITCH Destination pitch jump.
0 Disable
1 Enable
LCD
Signaling LCD DMA. Frame ready signal is issued at the beginning of frames in Direct Couple mode, and is
issued at the end of frames in Dual Buffer mode. Note that in the case of automatic restart plus direct couple
mode, this function must be enabled to trigger LCD DMA.
0 Disable
1 Enable
AUTO RSTR Automatic restart. IBW2 DMA automatically restarts itself while current frame is finished.
0 Disable
1 Enable
DC
Directly coupling to LCD DMA. Once this function is enabled, image data will dump to LCD DMA directly
instead of dumping to LCD frame buffer.
0 Disable
1 Enable
PAN
Picture panning. Once this function is enabled, only the pixels in the region specified by CLIP_L, CLIP_R,
CLIP_T, and CLIP_B are dumped. The pan window is defined as Figure 33.

CLIP_B

Figure 33 Picture Panning

MT
K

0 Disable
1 Enable
888M Output format control
0 RGB565
1 RGB888
PSEL Pixel engine selection
00 IPP 1
01 IPP 2
10 Capture resize
11 Post resize

428/616

MediaTek Inc. Confidential

IMGDMA+030
Image Buffer Write DMA1 Base Address 1 Register
8h
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

IBW1_BSADDR
1

22

21

20

19

18

6

5

4

3

2

IMGDMA+030
Image Buffer Write DMA1 Base Address 2 Register
Ch
30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

ADDR Second base address of the LCD frame buffer.

22

21

20

19

6

5

4

3

IMGDMA+031
Image Buffer Write DMA1 Horizontal Size Register
0h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

17

16

2

1

0

IBW1_HSIZE

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Horizontal size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

31

30

15

14

IBW1_VSIZE

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE
R/W

SIZE

Vertical size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+031
Image Buffer Write DMA1 Clip LR Register
8h
31

30

15

14

IBW1_CLIP_LR

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
RIGHT
R/W

6

5

4

3

2

1

0

MT
K

LEFT
RIGHT

18

22

IMGDMA+031
Image Buffer Write DMA1 Vertical Size Register
4h

Bit
Name
Type
Bit
Name
Type

0

SIZE
R/W

SIZE

Bit
Name
Type
Bit
Name
Type

1

23

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

16

IBW1_BSADDR
2

Re
lea
se

31

17

fo
r

ADDR First base address of the LCD frame buffer.

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

Left boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.
Right boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.

429/616

MediaTek Inc. Confidential

IMGDMA+031
Image Buffer Write DMA1 Clip TB Register
Ch

IBW1_CLIP_TB

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
BOTTOM
R/W

6

5

4

3

2

TOP
BOTTOM

17

16

1

0

Top boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.
Bottom boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IMGDMA+032
Image Buffer Write DMA1 Destination Pitch1 Register IBW1_DPITCH1
0h
31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
PITCH
R/W

6

5

4

3

2

1

0

PITCH

Re
lea
se

Bit
Name
Type
Bit
Name
Type

Line pitch in bytes corresponds to IBW2_BSADDR1.

IMGDMA+032
Image Buffer Write DMA1 Destination Pitch2 Register IBW1_DPITCH2
4h
31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
PITCH
R/W

6

5

4

3

2

1

0

PITCH

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Line pitch in bytes corresponds to IBW2_BSADDR1.

IMGDMA+032
Image Buffer Write DMA1 Horizontal Count Register
8h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CNT
RO

CNT

Horizontal pixel count. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+032
Image Buffer Write DMA1 Vertical Count Register
Ch
31

30

29

MT
K

Bit
Name
Type
Bit
Name
Type

CNT

IBW1_HCNT

15

14

13

IBW1_VCNT

28

27

26

25

24

23

22

21

20

19

18

17

16

12

11

10

9

8

7

6

5

4

3

2

1

0

CNT
RO

Vertical line count. 0 stands for 1 line, and n-1 stands for n lines.

430/616

MediaTek Inc. Confidential

Revision 1.0

IMGDMA+040
Image Buffer Write DMA2 Start Register
0h

IBW2_STR

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

17

16

1

0
STR
R/W
0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

STR

Start control for a DMA channel
0 stop DMA
1 activate DMA

Re
lea
se

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper value

IMGDMA+040
Image Buffer Write DMA2 Control Register
4h

Name
Type
Reset

IT

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24

23

22

21

8
7
6
5
PSEL PSEL
888M PAN
1
0
R/W R/W R/W R/W
0
0
0
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit

20

19

IBW2_CON
18

17

16

4

3
2
1
0
AUTO
DC
LCD PITCH IT
RSTR
R/W R/W R/W R/W R/W
0
0
0
0
0

MT
K

Interrupt Enabling
0 Disable
1 Enable
PITCH Destination pitch jump.
0 Disable
1 Enable
LCD
Signaling LCD DMA. Frame ready signal is issued at the beginning of frames in Direct Couple mode, and is
issued at the end of frames in Dual Buffer mode. Note that in the case of automatic restart plus direct couple
mode, this function must be enabled to trigger LCD DMA.
0 Disable
1 Enable
AUTO RSTR Automatic restart. IBW2 DMA automatically restarts itself while current frame is finished.
0 Disable
1 Enable
DC
Directly coupling to LCD DMA. Once this function is enabled, image data will dump to LCD DMA directly
instead of dumping to LCD frame buffer.
0 Disable
1 Enable

431/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

PAN Picture panning. Once this function is enabled, only the pixels in the region specified by HPITCH1, HPITCH2,
VPITCH1, and VPITCH2 are dumped. The PITCHs are defined as Figure 33.

fo
r

0 Disable
1 Enable
888M Output format control
0
RGB565
1
RGB888
PSEL Pixel engine selection
00 IPP 1
01 IPP 2
10 Capture resize
11 Post resize

Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

IBW2_BSADDR
1

Re
lea
se

IMGDMA+040
Image Buffer Write DMA2 Base Address 1 Register
8h
24
23
ADDR
R/W
8
7
ADDR
R/W

ADDR First base address of the LCD frame buffer.

22

21

20

19

18

17

16

6

5

4

3

2

1

0

IMGDMA+040
Image Buffer Write DMA2 Base Address 2 Register
Ch
31

30

15

14

29

28

27

26

25

24
23
ADDR
R/W
8
7
ADDR
R/W

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

13

12

11

10

9

IBW2_BSADDR
2

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR Second base address of the LCD frame buffer.

IMGDMA+041
Image Buffer Write DMA2 Horizontal Size Register
0h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

IBW2_HSIZE

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE
R/W

SIZE

Horizontal size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

MT
K

IMGDMA+041
Image Buffer Write DMA2 Vertical Size Register
4h
Bit
Name
Type
Bit
Name

IBW2_VSIZE

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE

432/616

MediaTek Inc. Confidential

Type

R/W

SIZE

Vertical size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+041
Image Buffer Write DMA2 Clip LR Register
8h

IBW2_CLIP_LR

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8
7
RIGHT
R/W

6

5

4

3

2

16

1

0

Left boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.
Right boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.

LEFT
RIGHT

Re
lea
se

IMGDMA+041
Image Buffer Write DMA2 Clip TB Register
Ch
Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IBW2_CLIP_TB

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8
7
BOTTOM
R/W

6

5

4

3

2

1

0

TOP
BOTTOM

Top boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.
Bottom boundary of a frame. 0 stands for the first pixel, and n-1 stands for the nth pixel.

Bit
Name
Type
Bit
Name
Type

31

30

15

14

PITCH

Co
nf
id
en
tia
l

IMGDMA+042
Image Buffer Write DMA2 Destination Pitch1 Register IBW2_DPITCH1
0h
29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
PITCH
R/W

6

5

4

3

2

1

0

Line pitch in bytes corresponds to IBW2_BSADDR1.

IMGDMA+042
Image Buffer Write DMA2 Destination Pitch2 Register IBW2_DPITCH2
4h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

PITCH

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8
7
PITCH
R/W

6

5

4

3

2

1

0

Line pitch in bytes corresponds to IBW2_BSADDR1.

MT
K

IMGDMA+042
Image Buffer Write DMA2 Horizontal Count Register
8h
Bit
Name
Type
Bit

IBW2_HCNT

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

433/616

MediaTek Inc. Confidential

Name
Type

CNT
RO

CNT

Horizontal pixel count. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+042
Image Buffer Write DMA2 Vertical Count Register
Ch
31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12

11

10

9

8

7

6

5

4

CNT
RO

CNT

Vertical line count. 0 stands for 1 line, and n-1 stands for n lines.

IBW2_VCNT
19

18

3

2

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Re
lea
se

IMGDMA+050
Image Buffer Write DMA3 Start Register
0h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

1

16

0

IBW3_STR

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0
STR
R/W
0

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper value
Start control for a DMA channel
0 stop DMA
1 activate DMA

Co
nf
id
en
tia
l

STR

IMGDMA+050
Image Buffer Write DMA3 Control Register
4h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

IT

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24

23

8
7
PSEL PSEL
1
0
R/W R/W
0
0

IBW3_CON

22

21

20

19

18

17

16

6

5

4

3
AUTO
RSTR
R/W
0

2

1

0
IT
R/W
0

MT
K

Interrupt Enabling
0 Disable
1 Enable
AUTO RSTR Automatic restart. IBW2 DMA automatically restarts itself while current frame is finished.
0 Disable
1 Enable
PSEL Pixel engine selection
00 IPP 1
01 IPP 2

434/616

MediaTek Inc. Confidential

Revision 1.0

10 Capture resize
11 Post resize

IMGDMA+051
Image Buffer Write DMA3 Horizontal Size Register
0h
31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

SIZE
R/W

SIZE

Horizontal size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

0

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

Vertical size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

30

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

31

13

12

11

10

9

8

7

IBW3_HCNT

22

21

20

19

18

17

16

6

5

4

3

2

1

0

CNT
RO

CNT

Horizontal pixel count. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+052
Image Buffer Write DMA3 Vertical Count Register
Ch
31

30

15

14

IBW3_VCNT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CNT
RO

CNT

Vertical line count. 0 stands for 1 line, and n-1 stands for n lines.

IMGDMA+058
Image Buffer Write DMA4 Start Register
0h

IBW4_STR

31

30

29

28

27

26

25

24

23

22

21

20

19

18

17

16

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
STR
R/W

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

1

23

IMGDMA+052
Image Buffer Write DMA3 Horizontal Count Register
8h

Bit
Name
Type
Bit
Name
Type

16

SIZE
R/W

SIZE

Bit
Name
Type
Bit
Name
Type

17

IBW3_VSIZE

Re
lea
se

IMGDMA+051
Image Buffer Write DMA3 Vertical Size Register
4h
Bit
Name
Type
Bit
Name
Type

IBW3_HSIZE

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

435/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Reset

0

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper value
Start control for a DMA channel
0 stop DMA
1 activate DMA

IMGDMA+058
Image Buffer Write DMA4 Control Register
4h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

Name
Type
Reset

24

23

8
7
PSEL PSEL
1
0
R/W R/W
0
0

22

21

20

6

5

4

19

18

17

16

3
AUTO
RSTR
R/W
0

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit

IBW4_CON

fo
r

STR

IT

IT
R/W
0

Co
nf
id
en
tia
l

Interrupt Enabling
0 Disable
1 Enable
AUTO RSTR Automatic restart. IBW2 DMA automatically restarts itself while current frame is finished.
0 Disable
1 Enable
PSEL Pixel engine selection
00 IPP 1
01 IPP 2
10 Capture resize
11 Post resize

IMGDMA+059
Image Buffer Write DMA4 Horizontal Size Register
0h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

IBW4_HSIZE

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE
R/W

SIZE

Horizontal size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+059
Image Buffer Write DMA4 Vertical Size Register
4h
31

30

29

MT
K

Bit
Name
Type
Bit
Name
Type

SIZE

15

14

13

IBW4_VSIZE

28

27

26

25

24

23

22

21

20

19

18

17

16

12

11

10

9

8

7

6

5

4

3

2

1

0

SIZE
R/W

Vertical size of a frame. 0 stands for 1 pixel, and n-1 stands for n pixels.

436/616

MediaTek Inc. Confidential

IMGDMA+05A
Image Buffer Write DMA4 Horizontal Count Register
8h
31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

CNT
RO

CNT

Horizontal pixel count. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+05A
Image Buffer Write DMA4 Vertical Count Register
Ch
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

21

20

7

6

5

4

16

1

0

19

3

18

17

16

2

1

0

CNT
RO

CNT

Vertical line count. 0 stands for 1 line, and n-1 stands for n lines.

IMGDMA+060
Image Buffer Read DMA1 Start Register
0h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

IBR1_STR

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0
STR
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

17

IBW4_VCNT

Re
lea
se

Bit
Name
Type
Bit
Name
Type

IBW4_HCNT

fo
r

Bit
Name
Type
Bit
Name
Type

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper values.
STR

Start control for a DMA channel
0 stop DMA
1 activate DMA

IMGDMA+060
Image Buffer Read DMA1 Control Register
4h
Bit
Name
Type
Reset
Bit
Name

31

30

15

14

29

28

27

26

25

24

23

22

21

20

19

13

12

11

10

9

8

7

6

5

4

3

MT
K

Type
Reset

IT

IBR1_CON
18

17

2
1
ORDE
FMT
R
R/W R/W
0
0

16

0
IT
R/W
0

Interrupt Enabling
0 Disable
1 Enable

437/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
FMT

Data format
0 RGB565
1 RGB888
ORDER
Data order
0 BGR888, from MSB to LSB.
1 RGB888, from MSB to LSB.

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

22

21

20

6

5

4

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Bit
Name
Type

IBR1_BSADDR

fo
r

IMGDMA+060
Image Buffer Read DMA1 Base Address Register
8h

ADDR Base address of the image buffer.

IMGDMA+060
Image Buffer Read DMA1 Number of Pixels Register
Ch
Bit
Name
Type
Bit
Name
Type

31

30

29

28

27

26

25

15

14

13

12

11

10

9

NUM

24
23
NUM
R/W
8
7
NUM
R/W

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Number of pixels of the transferred image. 0 represents 1 pixel, and n-1 represents n pixels.

31

30

15

14

COUNT

Co
nf
id
en
tia
l

IMGDMA+061
Image Buffer Read DMA1 Remaining Pixels Register
0h
Bit
Name
Type
Bit
Name
Type

IBR1_PXLNUM

29

28

27

26

25

13

12

11

10

9

24
23
COUNT
RO
8
7
COUNT
RO

IBR1_PXLCNT

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Pixel count. 0 represents 1 pixel, and n-1 represents n pixels.

IMGDMA+070
Image Buffer Read DMA2 Start Register
0h
31

30

15

14

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0
STR
R/W
0

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IBR2_STR

This register controls the activity of a DMA channel. Note that before setting STR to “1”, all the configurations should
be done by giving proper values.
STR

Start control for a DMA channel

438/616

MediaTek Inc. Confidential

0
1

stop DMA
activate DMA

IMGDMA+070
Image Buffer Read DMA2 Control Register
4h
31

30

29

28

27

26

25

24

23

22

21

15

14

13

12

11

10

9

8

7

6

5

Name

PSEL

Type
Reset

R/W
0

IBR2_CON

20

19

18

17

16

4
3
2
1
0
PALE AUTO MODE MODE
IT
N RSTR
1
0
R/W R/W R/W R/W R/W
0
0
0
0
0

fo
r

Bit
Name
Type
Reset
Bit

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IT

Co
nf
id
en
tia
l

Re
lea
se

Interrupt Enabling
0 Disable
1 Enable
MODE Interrupt Enabling
00 1-bpp mode
01 2-bpp mode
10 4-bpp mode
11 8-bpp mode
AUTO RSTR Automatic restart. IBR2 DMA automatically restarts itself while current frame is finished.
0 Disable
1 Enable
PALEN
Photo frame palette Enabling. Please set this bit before any operation with the palette memory.
0 Disable.
1 Enable.
PSEL Pixel engine selection
0 Capture Resize.
1 Post Resize.

IMGDMA+070
Image Buffer Read DMA2 Base Address Register
8h
Bit
Name
Type
Bit
Name
Type

31

30

15

14

29

28

27

26

25

13

12

11

10

9

24
23
ADDR
R/W
8
7
ADDR
R/W

IBR2_BSADDR

22

21

20

19

18

17

16

6

5

4

3

2

1

0

ADDR Base address of the photo frame.

IMGDMA+070
Image Buffer Read DMA2 Configuration Register
Ch
31

30

29

MT
K

Bit
Name
Type
Bit
Name
Type

15

14

13

28

IBR2_CFG

27

26

25

24

23

22

21

20

19

18

17

16

12
11
KEY
R/W

10

9

8

7

6
5
VRATIO
R/W

4

3

2
1
HRATIO
R/W

0

439/616

MediaTek Inc. Confidential

Revision 1.0

KEY
Transparent color key for overlay function.
VRATIO
Horizontal scaling ratio.
HRATIO
Vertical scaling ratio.

IMGDMA+071
Image Buffer Read DMA2 Horizontal Size Register
0h

IBR2_HSIZE

31

30

29

28

27

26

25

24

23

22

21

20

19

18

15

14

13

12

11

10

9

8

7

6

5

4

3

2

SIZE
R/W

SIZE

Horizontal size of the photo frame.

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Re
lea
se

IMGDMA+071
Image Buffer Read DMA2 Vertical Size Register
4h
Bit
Name
Type
Bit
Name
Type

Vertical size of the photo frame.

0

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0

30

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

31

13

12

11

10

9

8

7

IBR2_HCNT

22

21

20

19

18

17

16

6

5

4

3

2

1

0

CNT
RO

CNT

Horizontal pixel count. 0 stands for 1 pixel, and n-1 stands for n pixels.

IMGDMA+071
Image Buffer Read DMA2 Vertical Count Register
Ch
31

30

15

14

IBR2_VCNT

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CNT
RO

CNT

Vertical line count. 0 stands for 1 line, and n-1 stands for n lines.

IMGDMA+0BF
Ch
31

30

IMGDMA_PAL0
0

Image Buffer Read DMA2 Palette Register 00~FF

MT
K

IMGDMA+080
0h

Bit
Name

1

IBR2_VSIZE

IMGDMA+071
Image Buffer Read DMA2 Horizontal Count Register
8h

Bit
Name
Type
Bit
Name
Type

16

SIZE
R/W

SIZE

Bit
Name
Type
Bit
Name
Type

17

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

29

~FF
28

27

26

25

24

23

440/616

22

21

20
19
COLOR

18

17

16

MediaTek Inc. Confidential

Type
Bit
Name
Type

R/W
15

14

13

12

11

10

9

8
7
COLOR
R/W

6

5

4

3

COLOR [23:0] Palette entry color value in YUV format.

1

0

Image Engine

fo
r

6.16

2

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

The Image Engine is used to manipulate image adjustments and a variety of filtering effects. It works inside the DMA
architecture, which minimizes the intervention of the CPU. The engine can directly access the external and internal
memories and provide a large extent of flexibility for system performance consideration.

Re
lea
se

The function of the engine basically contains two categories: pixel adjustment and filtering effect.
Pixel adjustment includes brightness, contrast, and hue adjustment, color adjustment, and gamma correction. These
effects are integrated on both the encoding and decoding path of image and video material. It can provide on-the-fly
manipulation on these raw materials. For camera preview and capture, it can perform the effects on the incoming image
frame immediately, and output to both frame buffer for display and image buffer for image compression. For video
playback, it can perform the effects on the decoded frame immediately and output to the frame buffer for display.
The filtering effect includes linear and non-linear (ranking) effects. The linear filtering provides blur and sharpening
effects with programmable mask design. The non-linear filtering provides ranking filter to emulate noise reduction,
dilation and erosion effects. We can also implement other artistic effects by performing multi-pass filtering with
combination of a variety of effects.

6.16.1

Register Definitions

Register Address
IMG+0000h
IMG+0004h
IMG+0008h
IMG+000Ch
IMG+0010h
IMG+0100h
IMG+0104h
IMG+0108h

Co
nf
id
en
tia
l

The image Engine includes three independent sub image engines. The first sub image engine, IPP1, is in charge of the
main functions of the engine (pixel adjustment and filtering effect). The second sub image engine, IPP2, only performs
YUV to RGB color conversion. This sub engine can be used to output the RGB data in the image compression or
videophone. The third sub image engine, IPP3, mainly performs RGB to YUV color space conversion and then output
to Post Resizer.

Register Function

Acronym

Image flow control register

IMGPROC_IMAGE_CON

Control register

IMGPROC_CON

Interrupt enable register

IMGPROC_INTREN

Interrupt status register

IMGPROC_INTR

Status register

IMGPROC_STATUS

Hue adjustment coefficient C11

IMGPROC_HUE11

Hue adjustment coefficient C12

IMGPROC_HUE12

Hue adjustment coefficient C21

IMGPROC_HUE21

Hue adjustment coefficient C22

IMGPROC_HUE22

Saturation adjustment coefficient

IMGPROC_SAT

IMG+0120h

Brightness adjustment coefficient B1

IMGPROC_BRIADJ1

IMG+0124h

Brightness adjustment coefficient B2

IMGPROC_BRIADJ2

IMG+0128h

Contrast adjustment coefficient

IMGPROC_CONADJ

MT
K

IMG+010Ch
IMG+0110h

441/616

MediaTek Inc. Confidential

Revision 1.0

Colorize effect coefficient
Colorize effect coefficient

IMGPROC_COLORIZEV

IMG+0140h

Mask coefficient C11

IMGPROC_MASK11

IMG+0144h

Mask coefficient C12

IMGPROC_MASK12

IMG+0148h

Mask coefficient C13

IMGPROC_MASK13

IMG+014Ch

Mask coefficient C21

IMGPROC_MASK21

IMG+0150h

Mask coefficient C22

IMGPROC_MASK22

IMG+0154h

Mask coefficient C23

IMGPROC_MASK23

IMG+0158h

Mask coefficient C31

IMGPROC_MASK31

IMG+015Ch

Mask coefficient C32

IMGPROC_MASK32

IMG+0160h

Mask coefficient C33

IMGPROC_MASK33

IMG+0164h

Mask down-scaling coefficient

IMGPROC_SCALE

IMG+0170h

Gamma correction offset for segment 0

IMGPROC_GAMMA_OFF0

IMG+0174h

Gamma correction offset for segment 1

IMG+0178h

Gamma correction offset for segment 2

IMG+017Ch

Gamma correction offset for segment 3

IMG+0180h

Gamma correction offset for segment 4

IMG+0184h

Gamma correction offset for segment 5

IMG+0188h

Gamma correction offset for segment 6

IMG+018Ch

Gamma correction offset for segment 7

IMG+0190h

Gamma correction slope for segment 0

IMG+0194h

Gamma correction slope for segment 1

IMG+0198h

Gamma correction slope for segment 2

IMG+019Ch
IMG+01A0h
IMG+01A4h
IMG+01A8h
IMG+01ACh
IMG+01B0h
IMG+0200h
IMG+0204h
IMG+0208h
IMG+020Ch
IMG+0210h
IMG+0214h
IMG+0220h
IMG+0224h

Re
lea
se

fo
r

IMG+0130h
IMG+0134h

Co
nf
id
en
tia
l

IMGPROC_COLORIZEU

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IMGPROC_GAMMA_OFF1
IMGPROC_GAMMA_OFF2
IMGPROC_GAMMA_OFF3
IMGPROC_GAMMA_OFF4
IMGPROC_GAMMA_OFF5
IMGPROC_GAMMA_OFF6
IMGPROC_GAMMA_OFF7
IMGPROC_GAMMA_SLP0
IMGPROC_GAMMA_SLP1
IMGPROC_GAMMA_SLP2

Gamma correction slope for segment 3

IMGPROC_GAMMA_SLP3

Gamma correction slope for segment 4

IMGPROC_GAMMA_SLP4

Gamma correction slope for segment 5

IMGPROC_GAMMA_SLP5

Gamma correction slope for segment 6

IMGPROC_GAMMA_SLP6

Gamma correction slope for segment 7

IMGPROC_GAMMA_SLP7

Gamma correction control register

IMGPROC_GAMMA_CON

Color adjustment offset x for red segment 1

IMGPROC_COLOR1R_OFFX

Color adjustment offset x for red segment 2

IMGPROC_COLOR2R_OFFX

Color adjustment offset x for green segment 1

IMGPROC_COLOR1G_OFFX

Color adjustment offset x for green segment 2

IMGPROC_COLOR2G_OFFX

Color adjustment offset x for blue segment 1

IMGPROC_COLOR1B_OFFX

Color adjustment offset x for blue segment 2

IMGPROC_COLOR2B_OFFX

Color adjustment offset y for red segment 1

IMGPROC_COLOR1R_OFFY

Color adjustment offset y for red segment 2

IMGPROC_COLOR2R_OFFY

Color adjustment offset y for green segment 1

IMGPROC_COLOR1G_OFFY

Color adjustment offset y for green segment 2

IMGPROC_COLOR2G_OFFY

IMG+0230h

Color adjustment offset y for blue segment 1

IMGPROC_COLOR1B_OFFY

IMG+0234h

Color adjustment offset y for blue segment 2

IMGPROC_COLOR2B_OFFY

IMG+0240h

Color adjustment slope for red segment 0

IMGPROC_COLOR1G_SLP

MT
K

IMG+0228h
IMG+022Ch

442/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Color adjustment slope for red segment 1

IMGPROC_COLOR1G_SLP

IMG+0248h

Color adjustment slope for red segment 2

IMGPROC_COLOR2G_SLP

IMG+0250h

Color adjustment slope for red segment 0

IMGPROC_COLOR1G_SLP

IMG+0254h

Color adjustment slope for red segment 1

IMGPROC_COLOR1G_SLP

IMG+0258h

Color adjustment slope for red segment 2

IMGPROC_COLOR2G_SLP

IMG+0260h

Color adjustment slope for red segment 0

IMGPROC_COLOR1G_SLP

IMG+0264h

Color adjustment slope for red segment 1

IMGPROC_COLOR1G_SLP

IMG+0268h

Color adjustment slope for red segment 2

IMGPROC_COLOR2G_SLP

IMG+0304h

Image frame width register

IMGPROC_IMGWIDTH

IMG+0308h

Image frame height register

IMGPROC_IMGHEIGHT

IMG+030Ch

Image frame source start address

IMGPROC_ADDR_SRC

IMG+0310h

Image frame destination start address

IMGPROC_ADDR_DST

IMG+0314h

Image frame filtering dummy pixel

IMGPROC_DUMMYPXL

IMG+0318h

RGB to YUV source select

IMG+031Ch

Thumbnail output enable

IMG+0320h

Image engine process enable

Re
lea
se

fo
r

IMG+0244h

IMGPROC_R2Y_SRC
IMGPROC_TNL_EN
IMGPROC_EN

Table 54 Image Engine Registers

Bit
Name
Type
Reset

15

IMGPROC_IMA
GE_CON

Image Engine image flow control register
14
13
GMODE
R/W
0

12

11

10
9
MASK
R/W
0

8

7
6
5
RGB GMA CLR
R/W R/W R/W
0
0
0

Co
nf
id
en
tia
l

IMG+0000h

4
INV
R/W
0

3
CBA
R/W
0

2

1
HSA
R/W
0

0

This register is used to define which effects are to be applied on the video stream or on the stand-alone image. The user
can simply set this register to 0 if intended to bypass Image Engine.
The MSB 4 bits controls the operating mode and image flow of the engine. They should be set prior to enabling the
respective functions; and when all are equal to 0, no operation will take effect.
The MASK field defines which mask filtering effect is to be applied. The RGB format (565/888) of image data can be
both supported by the RGB control bit. The effects comprise of linear and non-linear effects. Some linear effects, such
as Low-pass, High-pass, un-sharpening effects, should be associated with the mask table; therefore the user should
program the mask coefficients. The LP (low-pass) filter provides smoothing effects. Since it is supposed to get
un-biased data, the convolution will be normalized to its original intensity. The HP (high-pass) filter, which provides
sharpening effects, does not necessarily produce un-biased data. We provide two HP filters, one with scaling factor and
the other without. Depending on what mask type is defined, the result may reveal only edge information or may keep
the average intensity to achieve the sharpening effects. We recommend using symmetrical form of mask.

MT
K

In addition to 3x3 masks, 5x5 and 7x7 masks are also provided. But only the blur effects are provided for the later two
effects. The user does not have to program the mask coefficients.
The LSB 7 bits controls all the pixel adjustment effect.
For gamma correction and color adjustment, which are to be performed on RGB color space, the Image Engine
provides piece-wise linear programming mechanism. The user should know the slope and offset of respective segments.

443/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
Color invert effect, performed on YUV or RGB color spaces, provides negative film effects.

Contrast and brightness, hue and saturation effects are to be performed on YUV color space. Although, the user can
also do post-processing on the image prepared in RGB form. The Image Engine can convert it into YUV space for
those operations.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

fo
r

GMODE
Graph mode. The field defines the image flow in each case.
1000 Image Encode mode. (RGB to YUV) In this mode, the Image Engine performs the color space
conversion from RGB color space to YUV color space. This mode is mainly used in image encoding,
such as JPEG encoding. IPP2 path can be enabled to support the thumbnail RGB data format. In this
mode, we assume no image effects are to be applied.
0101 IMGPROC mode. (RGB to YUV and YUV to RGB) In this mode, the Image Engine applies image
effects on the stand-alone image. The data source and destination is supposed to be in RGB color
space. In this mode, the user should program image size and related information on image DMA. The
image DMA retrieves image, performs image effects on Image Engine, and then writes to the memory.
This mode can also apply on GIF/PNG decoding.
0011 MPEG mode. (YUV to RGB) In this mode, the image is converted from YUV color space to RGB
color space in video showing. This mode is mainly used for video mode.
0010 Capture mode. (YUV to RGB and YUV to RGB) In this mode, the captured image in YUV color
space and performed color space conversion for thumbnail output. This mode is mainly used for
image capture. This mode can be applied on videophone mode. Thumbnail path can be enabled.
0001 Preview mode. (YUV to RGB) In this mode, the Image Engine performs the color space conversion
from YUV color space to RGB color space. This mode is mainly used for preview, image playback.
MASK Mask filtering effect enabling control. (Source and destination image are both in memory)
0101 Linear LP (low-pass) filtering effect enable. Mask coefficients required.
0110 Linear HP (high-pass) filtering effect enable. Mask coefficients required.
0111
Linear HP filtering (with scale down) effect enable. Mask coefficients required.
1001 Blur effect enable. (5x5 mask)
1010 More blur effect enable. (7x7 mask)
1011 Un-sharp mask effect enable. Mask coefficients required.
1100 Maximum ranking (dilation) filter effect enable
1101 Median ranking filter effect enable
1110 Minimum ranking (erosion) filter effect enable
RGB
RGB565/888 selection for filter path (only for filtering effect)
0
RGB565
1
RGB888
GMA Gamma correction enable bit
CLR
Color adjustment enable bit
INV
Color invert enable bit
CBA Contrast and brightness adjustment enable bit
HSA Hue and saturation adjustment enable
001
Gray-scale effect enable
010
Colorize effect enable
101
Hue adjustment enable
110
Saturation adjustment enable
111
Hue and saturation adjustment enable

IMG+0004h
Bit

15

Mask filtering Control register

14

13

12

11

10

9

8

IMGPROC_CON
7

444/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name

INIT

Type
Reset

WO
0

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

STAR
T
WO WO
0
0

STOP

This register is used to control the filtering process and coefficients setting.
INIT
Writing logic-1 resets hue, saturation, brightness, and contrast adjusting coefficients. The flag is write-only.
STOP Writing logic-1 stops the image filter processing. The flag is write-only.
START Writing logic-1 starts the image filter processing. The flag is write-only.

15

14

13

12

11

10

9

8

7

6

5

4

fo
r

Bit
Name
Type
Reset

IMGPROC_INTR
EN

Interrupt enable register

3

2

Re
lea
se

IMG+0008h

1

0
EN
R/W
0

This register is the interrupt enable control register. To enable the interrupt, the flag should be set to be 1.
EN
Interrupt enable flag.

IMG +000Ch
Bit
Name
Type
Reset

15

14

Interrupt status register
13

12

11

10

9

IMGPROC_INTR

8

7

6

5

4

3

2

1

0
INTR
RC
0

This register is the interrupt status register. The core set the flag to be 1 to represent the interrupt is asserted. Reading
this register will clear the interrupt.
Interrupt status flag. The flag is read-clear.

IMG +0010h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

INTR

Status register
13

12

11

10

9

8

7

IMGPROC_STS
6

5

4

3

2

1

0
BUSY
RO
0

This register is the status register. The user could poll this register to see if the filtering process is ready or not. The flag
is read-only.
BUSY Filtering is in process.

IMG+0100h
Bit
Name
Type
Reset

15

14

13

15

12

11

10

9

8

7

6

5

4

3

14

13

12

11

10

9

8

7

2

1

0

C11
R/W
40h

IMGPROC_HUE
12

Hue adjustment coefficient C12

MT
K

IMG+0104h
Bit
Name
Type
Reset

IMGPROC_HUE
11

Hue adjustment coefficient C11

6

5

4

3

2

1

0

C12
R/W
0

445/616

MediaTek Inc. Confidential

IMG+0108h
15

14

13

12

11

10

9

8

7

6

5

4

3

2

C21
R/W
0

IMG+010Ch
Bit
Name
Type
Reset

IMGPROC_HUE
21

Hue adjustment coefficient C21

15

14

12

11

10

9

8

0

IMGPROC_HUE
22

Hue adjustment coefficient C22
13

1

7

6

5

fo
r

Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

4

3

2

1

0

C22
R/W
40h

Re
lea
se

This register controls the parameter of hue adjustment for the image. The effect is performed on the U and V
component of YUV color space. The user should specify the coefficients that form the transformation matrix. The
formula is listed as follows:

u0
C11 C12 ui
=
⋅
vo
C 21 C 22 vi

C11 = 64 cosθ , C12 = 64 sin θ , C 21 = −64 sin θ , C 22 = 64 cosθ

where

The coefficients are in 2’s complement format and range from C0h to 40h (from –64 to 64 in decimal, while 64 is
normalized to 1 corresponding to cosine values). Any value beyond this range is invalid.

C11
C12
C21
C22

The coefficient C11 of the transformation matrix in 2’s complement format.
The coefficient C12 of the transformation matrix in 2’s complement format.
The coefficient C21 of the transformation matrix in 2’s complement format.
The coefficient C22 of the transformation matrix in 2’s complement format.

IMG+0110h
Bit
Name
Type
Reset

Co
nf
id
en
tia
l

For example, to rotate the color space counterclockwise by 30 degree, the coefficients should be 37h, 20h, e0h, and
37h.

15

IMGPROC_SAT
ADJ

Saturation adjustment coefficient

14

13

12

11

10

9

8

7

6

5

4

3
SAT
R/W
20h

2

1

0

This register defines the parameter of saturation adjustment for the image. The basics of saturation tuning is to multiply
the U and V component by a scaling factor, which could range from 0 to 127, to degrade or enhance the strength on
color components. Setting to 20h represents no scaling.
SAT
Saturation coefficient.

Bit
Name
Type
Reset

15

IMGPROC_BRI
ADJ1

Brightness adjustment coefficient B1

MT
K

IMG+0120h

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

BRI
R/W
0

446/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

This register defines the parameter of brightness adjustment for the image. The parameter is in unsigned format. Setting
the value to be greater than 0 adds to the intensity of the image pixel. In terms of transfer curve, it represents the offset
in the y-axis. The valid value ranges from 0 to 255.
BRI
Brightness adjustment coefficient.

IMG+0124h
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

DRK
R/W
0

fo
r

Bit
Name
Type
Reset

IMGPROC_BRI
ADJ2

Brightness adjustment coefficient B2

IMG+0128h
Bit
Name
Type
Reset

15

Re
lea
se

This register controls the parameter of brightness adjustment for the image. The parameter is in unsigned format.
Setting the value to be greater than 0 degrades the intensity of the image pixel. In terms of transfer curve, it represents
the offset in the x-axis. The valid value ranges from 0 to 255.
DRK Brightness adjustment coefficient

IMGPROC_CON
ADJ

Contrast adjustment coefficient
14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

CON
R/W
20h

This register defines the parameter of contrast adjustment for the image pixel. The parameter is in unsigned format with
normalization factor 20h. Setting the value to be greater than 20h enhances the contrast for the image; and setting the
value to be less than 20h lowers the contrast for the image. The valid value ranges from 0 to 255.
Contrast adjustment coefficient

IMG+0130h
Bit
Name
Type
Reset

15

15

IMGPROC_COL
ORIZEU

Colorize u component coefficient

14

IMG+0134h
Bit
Name
Type
Reset

Co
nf
id
en
tia
l

CON

13

12

11

10

9

8

7

6

5

4
3
UCOM
R/W
0

13

12

11

10

9

8

7

1

0

IMGPROC_COL
ORIZEV

Colorize v component coefficient

14

2

6

5

4
3
VCOM
R/W
0

2

1

0

These registers controls the parameters of colorize effect for the image. The valid value ranges from –128 to 127 in 2’s
complement format. If the values of both coefficients are zero, it implies the gray-scale effect.

MT
K

UCOM Colorize effect u component coefficient.
VCOM Colorize effect v component coefficient.

IMG+0140h
Bit

15

IMGPROC_MAS
K11

Mask coefficient C11

14

13

12

11

10

9

8

7

447/616

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Name
Type
Reset

C11
R/W
0

14

Bit
Name
Type
Reset

15

15

14

14

IMG+0150h
Bit
Name
Type
Reset

15

15

14

13

14

15

7

6

5

4

12

11

10

13

12

11

10

3

13

12

11

10

13

12

11

10

14

13

14

12

11

10

9

8

7

6

5

4

3

12

11

10

1

0

2
C13
R/W
0

1

0

IMGPROC_MAS
K21

9

8

7

6

5

4

3

9

8

7

9

8

7

9

8

7

2
C21
R/W
0

1

0

IMGPROC_MAS
K22

6

5

4

3

2
C22
R/W
0

1

0

IMGPROC_MAS
K23
6

5

4

3

2
C23
R/W
0

1

0

IMGPROC_MAS
K31
6

5

4

3

2
C31
R/W
0

1

0

IMGPROC_MAS
K32

Mask coefficient C32
13

2
C12
R/W
0

IMGPROC_MAS
K13

Mask coefficient C31

IMG+015Ch
Bit
Name

8

Mask coefficient C21

MT
K

15

9

Mask coefficient C23

IMG+0158h
Bit
Name
Type
Reset

10

Mask coefficient C22

IMG+0154h
Bit
Name
Type
Reset

11

Mask coefficient C13

IMG+014Ch
Bit
Name
Type
Reset

12

Re
lea
se

IMG+0148h

13

Co
nf
id
en
tia
l

15

IMGPROC_MAS
K12

Mask coefficient C12

fo
r

IMG+0144h
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

9

8

7

448/616

6

5

4

3

2
C32

1

0

MediaTek Inc. Confidential

Type
Reset

R/W
0

15

IMGPROC_MAS
K33

Mask coefficient C33
14

13

12

11

10

9

8

7

6

5

4

3

2
C33
R/W
0

1

0

fo
r

IMG+0160h
Bit
Name
Type
Reset

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

These registers define the 9 mask coefficients for linear filtering. The coefficients are in 2’s complement format with
range from –16 to 15. The index associated with these coefficients represents the row index followed by the column
index. The Image Engine performs the same arithmetic convolution on 3 components of the target image.

C11 C12

C13

Mask coefficient C11.
Mask coefficient C12.
Mask coefficient C13.
Mask coefficient C21.
Mask coefficient C22.
Mask coefficient C23.
Mask coefficient C31.
Mask coefficient C32.
Mask coefficient C33

IMG+0164h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

C11
C12
C13
C21
C22
C23
C31
C32
C33

Re
lea
se

C 21 C 22 C 23
C 31 C 32 C 33

IMGPROC_SCA
LE

Mask data down-scaling coefficient

14

13

12

11

10

9

8

7

6

5

4

3

2
SCA
R/W
0

1

0

This register stores the value that could divide the mask data after convolution. It’s used for normalization, and only for
linear HP mode.
SCA The value used to scale down the mask data.

IMG+0170h
Bit
Name
Type
Reset

15

IMGPROC_GA
MMA_OFF0

Gamma correction offset value for segment 0

14

13

12

11

10

9

8

7

6

5

4
3
OFF0
R/W
0

2

1

0

MT
K

This register stores the y-offset value of the segment 0 for gamma correction.
OFF0

Offset value.

For offset values of other segments, please refer to Table 55.

449/616

MediaTek Inc. Confidential

IMG+0190h
Bit
Name
Type
Reset

15

IMGPROC_GA
MMA_SLP0

Gamma correction slope value for segment 0
14

13

12

11

10

9

8

7

6

5

Revision 1.0

4
3
SLP0
R/W
0

2

This register stores the slope value of the segment 0 for gamma correction.
Slope value.

For slope values of other segments, please refer to Table 55.

Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

This register is used to control the gamma correction mode.
GTO gamma value greater than one indicator
0 Gamma value is not greater than one.
1 Gamma value is greater than one.

IMG+0170h
IMG+0174h
IMG+0178h
IMG+017Ch
IMG+0180h
IMG+0184h
IMG+0188h
IMG+018Ch
IMG+0190h
IMG+0194h
IMG+0198h
IMG+019Ch
IMG+01A0h
IMG+01A4h
IMG+01A8h

6

5

4

3

2

1

0
GTO
R/W
0

Acronym

st

Offset value for the 1 segment
nd

IMGPROC_GAMMA_OFF0

Offset value for the 2 segment

IMGPROC_GAMMA_OFF1

Offset value for the 3rd segment

IMGPROC_GAMMA_OFF2

Offset value for the 4th segment

IMGPROC_GAMMA_OFF3

th

IMGPROC_GAMMA_OFF4

th

Offset value for the 6 segment

IMGPROC_GAMMA_OFF5

Offset value for the 7th segment

IMGPROC_GAMMA_OFF6

Offset value for the 5 segment

th

Offset value for the 8 segment

IMGPROC_GAMMA_OFF7

st

IMGPROC_GAMMA_SLP0

nd

Slope value for the 2 segment

IMGPROC_GAMMA_SLP1

Slope value for the 3rd segment

IMGPROC_GAMMA_SLP2

Slope value for the 1 segment

th

IMGPROC_GAMMA_SLP3

th

IMGPROC_GAMMA_SLP4

th

Slope value for the 6 segment

IMGPROC_GAMMA_SLP5

Slope value for the 7th segment

IMGPROC_GAMMA_SLP6

Slope value for the 4 segment

Slope value for the 5 segment

th

Slope value for the 8 segment

MT
K

IMG+01ACh

Register Function

Co
nf
id
en
tia
l

Register Address

7

0

IMGPROC_GAM
MA_CON

Gamma correction control register

Re
lea
se

IMG+01B0h

1

fo
r

SLP0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

IMGPROC_GAMMA_SLP7

Table 55 Gamma correction offset and slope register list

450/616

MediaTek Inc. Confidential

14

15

14

15

11

10

9

8

7

6

5

4

13

12

11

10

9

8

7

6

5

3

14

13

12

11

10

9

8

2

7

6

1

0

IMGPROC_COL
OR1R_OFFY

4

3

2

1

0

IMGPROC_COL
OR1R_SLP

Color adjustment slope for 2nd segment, red

IMG+0240h
Bit
Name
Type
Reset

12

Color adjustment offset y for 2nd segment, red

IMG+0220h
Bit
Name
Type
Reset

13

fo
r

15

Re
lea
se

Bit
Name
Type
Reset

IMGPROC_COL
OR1R_OFFX

Color adjustment offset x for 2nd segment, red

IMG+0200h

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet

5

4

3

2

1

0

SLP
R/W
0

Co
nf
id
en
tia
l

The above lists part of the registers that define the color adjustment parameters.
Color adjustment in Image Engine is used to tune the red, green, and blue color dimension individually to exhibit
required color tone as a whole. We provide 3-segment piecewise linear transfer curve for the user to be configured.
The x offset defines the separation point for input color value. The y offset defines the offset for each segment. The
slope defines the contrast enhancement ratio for each segment.
For the red, green and blue components, the bit-width of the offset value is 8.
OFFX input value separation point.
OFFY output value offset.
SLP
Slope. Contrast tuning ratio within the segment.
For all the registers of color adjustment, please refer to Table 6 for detail information.
Register
Address
IMG+0200h
IMG+0204h
IMG+0208h
IMG+020Ch
IMG+0210h
IMG+0214h
IMG+0220h

Register Function

Color adjustment offset x for 2nd segment, red

Bit-width Acronym
8

IMGPROC_COLOR1R_OFFX

rd

8

IMGPROC_COLOR2R_OFFX

nd

8

IMGPROC_COLOR1G_OFFX

Color adjustment offset x for 3 segment, red

Color adjustment offset x for 2 segment, green
rd

Color adjustment offset x for 3 segment, green

8

IMGPROC_COLOR2G_OFFX

Color adjustment offset x for 2nd segment, blue

8

IMGPROC_COLOR1R_OFFX

Color adjustment offset x for 3rd segment, blue

8

IMGPROC_COLOR2R_OFFX

8

IMGPROC_COLOR1R_OFFY

nd

Color adjustment offset y for 2 segment, red
rd

Color adjustment offset y for 3 segment, red

8

IMGPROC_COLOR2R_OFFY

Color adjustment offset y for 2nd segment, green

8

IMGPROC_COLOR1G_OFFY

IMG+022Ch

Color adjustment offset y for 3rd segment, green

MT
K

IMG+0224h
IMG+0228h

IMG+0230h

IMG+0234h

8

IMGPROC_COLOR2G_OFFY

nd

8

IMGPROC_COLOR1R_OFFY

rd

8

IMGPROC_COLOR2R_OFFY

Color adjustment offset y for 2 segment, blue
Color adjustment offset y for 3 segment, blue

451/616

MediaTek Inc. Confidential

Revision 1.0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet
IMG+0240h

Color adjustment slope for 1st segment, red

6

IMGPROC_COLOR0R_SLOPE

IMG+0244h

Color adjustment slope for 2nd segment, red

6

IMGPROC_COLOR1R_SLOPE

IMG+0248h

Color adjustment slope for 3rd segment, red

IMG+0250h
IMG+0254h

6

IMGPROC_COLOR1R_SLOPE

st

6

IMGPROC_COLOR0G_SLOPE

nd

6

IMGPROC_COLOR1G_SLOPE

Color adjustment slope for 1 segment, green
Color adjustment slope for 2 segment, green
rd

Color adjustment slope for 3 segment, green

6

IMGPROC_COLOR1G_SLOPE

Color adjustment slope for 1st segment, blue

6

IMGPROC_COLOR0B_SLOPE

IMG+0264h

Color adjustment slope for 2nd segment, blue

6

IMGPROC_COLOR1B_SLOPE

6

IMGPROC_COLOR1B_SLOPE

IMG+0268h

rd

Color adjustment slope for 3 segment, blue

MT
K

Co
nf
id
en
tia
l

Re
lea
se

Table 56 Color adjustment offset and slope register list

fo
r

IMG+0258h
IMG+0260h

452/616

MediaTek Inc. Confidential

IMG+0304h
Bit
Name
Type
Reset

15

IMGPROC_IMG
WIDTH

Image frame width
14

13

12

11

10

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

9

8

7

6

5

4

3

IM
R/W
0

2

1

0

Bit
Name
Type
Reset

15

IMGPROC_IMG
HEIGHT

Image frame height
14

13

12

11

10

9

8

Re
lea
se

IMG+0308h

fo
r

This register is the image frame width register. The maximum allowable frame width is 4095. The Image Engine uses it to
locate the address for every pixel in the image frame.
IM
Image frame width

7

6

5

4

3

2

1

0

IH
R/W
0

This register is the image frame height register. The maximum allowable frame height is 4095. The Image Engine uses it to
locate the address for every pixel in the image frame.
IH
Image frame width

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Image frame source register

31

30

15

14

29

28

27

26

25

24
23
SRC[31:16]
R/W
0
8
7
SRC[15:0]
R/W
0

Co
nf
id
en
tia
l

IMG+030Ch

13

12

11

10

9

IMGPROC_ADD
R_SRC

22

21

20

19

18

17

16

6

5

4

3

2

1

0

This register defines the starting address of the source image frame. The Image Engine takes this address as that of the
top-left pixel in the source image frame, and assumes the image frame is stored continuously, such that, all other pixels in
that image frame can be addressed by an offset, which is calculated by the engine.
SRC The source address

IMG+0310h
31

30

15

14

29

28

27

26

25

13

12

11

10

9

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

IMGPROC_ADD
R_DST

Image frame destination register

24
23
DST[31:16]
R/W
0
8
7
DST[15:0]
R/W
0

453/616

22

21

20

19

18

17

16

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This register defines the starting address of the destination image frame. The Image Engine writes the processed image
pixel by pixel from the top-left corner into the memory. The target image will be stored in the continuous address in the
memory.
DST
The destination address

IMG+0314h
15

14

13

12

11

10

9

8

7

6

5

4
3
DUMMY
R/W
0

2

1

0

fo
r

Bit
Name
Type
Reset

IMGPROC_DUM
MYPXL

Dummy pixel

IMG+0318h
Bit

15

R2Y source select
14

13

12

11

10

9

8

Name
Type
Reset

Re
lea
se

This register defines the dummy pixel value, which is taken to pad beyond the image frame boundary when performing the
ranking (maximum, median, and minimum) filter. The value is unsigned and is applied on all R/G/B color components
simultaneously.
For linear filtering, the Image Engine only considers the pixels within the image boundary.
DUMMY
The dummy pixel.

7

6

5

4

IMGPROC_R2Y_
SRC

3

2
PNG
R/W
0

1

0
IMGD
GIF
MA
R/W R/W
0
0

IMG+031Ch
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

This register defines the RGB source of IPP3 in IMGPROC mode. (Only one source can be enabled)
ON
1
OFF
0

IMGPROC_TNL_
EN

Thumbnail output enable
14

13

12

11

10

9

8

7

6

5

4

3

2

1

0
TNL
R/W
0

This register defines if enable the thumbnail data path
ON
1
OFF
0

IMG+0320h
15

14

13

12

11

10

9

8

MT
K

Bit
Name
Type
Reset

Image machine enable

7

IMGPROC_EN
6

5

4

3

2
RSTB
R/W
1

1

0
EN
R/W
0

This register defines the enable and software reset signal of the image processor. Before performing image effect
adjustment, the reset is necessary.
EN
0: Machine disable, pixel-base and filtering path are both disable.
454/616

MediaTek Inc. Confidential

RSTB

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
1: Machine enable
0: low-level Reset, all configurations will be initialized.
1 : Not Reset.

6.16.2

Image Engine in MT6228

Post RESZ
Memory

YUV

YUV
RGB

IMGDMA
GIF_Dec
PNG_Dec

RGB

Fig. 1.

IPP2
RGB

IMGDMA

Re
lea
se

Drop RESZ

fo
r

The Image Engine (IPP) plays the important role in MT6228 multimedia data path. It performs the necessary color space
conversion for next-stage needs. The path from Post-RESZ to IPP1 can also been applied the image effect. Fig.1 shows its
input/output data format and the relation with other multimedia module.

IPP1

IPP3

YUV

Post RESZ

Image Engine in MT6228.

The Graph mode setting depends on what kinds of data paths and image engines that we used. The Details are all listed in
Table 4.
Used Engine

Function

Note

Preview

IPP1

IPP1: Y2R, YUV/RGB image effect

Capture

IPP1, IPP2

IPP1 : Y2R, YUV/RGB image effect

Co
nf
id
en
tia
l

Graph mode

IPP2: Y2R

MPEG

IPP1

IPP1: Y2R, YUV/RGB image effect

IMGPROC

IPP1, IPP3

IPP1: Y2R, YUV/RGB image effect
IPP3: R2Y

IMAGE Encode

IPP2, IPP3

IPP2: Y2R

IPP3: R2Y

Thumbnail enable must be set if
using IPP2

R2Y source (image_dma, gif, png
decorder) must be selected for IPP3
Thumbnail enable must be set if
using IPP2

Table 57. Graph mode of Image Engine.

6.16.3

Image effect application

The Image Engine is the hardware coprocessor that performs image effects on video stream or stand-alone image. It
provides the following effects:
Hue adjustment.

2.

Saturation adjustment.

3.

Contrast and intensity adjustment.

4.

Grayscale and colorization.

MT
K

1.

455/616

MediaTek Inc. Confidential

5.

Gamma correction.

6.

Color adjustment.

7.

Linear filtering.

8.

Nonlinear filtering.

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The format of the coefficients is listed in Table 58.
Parameter group

Range (normalized factor) Format

Hue

C11, C12, C21, C22

-64 ~ 64 (64)

Saturation

SAT

0~127 (32)

Contrast and brightness

BRI1

0~255

Unsigned

BRI2

0~255

Unsigned

Contrast

0~255 (32)

Unsigned

Colorize

U, V

-128~127

2’s complement

Gamma correction

Offset

0~63

Unsigned

Slope

0~255 (16)

Unsigned

Offset for red

0~31

Unsigned

Slope for red

0~63 (16)

Unsigned

Offset for green

0~63

Unsigned

Slope for green

0~63 (16)

Unsigned

Offset for blue

0~31

Unsigned

Slope for blue

0~63 (16)

Unsigned

Mask

2’s complement
Unsigned

Re
lea
se

Co
nf
id
en
tia
l

Color adjustment

fo
r

Function

C11, C12, C13, C21, C22, -16~15
C23, C31, C32, C33

2’s complement

Dummy pixel

Unsigned

0~63

Table 58 Coefficients format table

6.16.3.1

Gamma correction and color adjustment

Gamma correction is a nonlinear technique. We use linear-approximation scheme for it and the same curve is applied
equally on red, green, and blue components.
Two approaches are provided. For the first one, the overall input value is equally divided into 8 segments. It’s suitable for
the case when gamma is greater than 1. For the second one, the value is divided into 6 unsymmetrical segments. It’s
suitable for the case when gamma is smaller then 1.

MT
K

Color adjustment is used to adjust different colors with different curves. For each color, a 3 segment piece-wise linear curve
is applied. The user has to decide the offsets and the slopes of these 3 segments. The coefficients should be positive.
Cool tone and warm tone filters are both popular applications for color adjustment.

456/616

MediaTek Inc. Confidential

6.16.3.2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Filtering coefficients for linear filter

The filtering operation in Image Engine basically imposes artifacts on the original image and aims to produce a variety of
effects.
For low pass filter, the matrix can be defined as

1

2

b

⋅ b b
1

2

b

1
b , where b is a positve number
1

are all popular examples that could

Re
lea
se

1 1 1
1 1 1
1 2 1
1
1
1
H1 =
⋅ 1 1 1 , H2 =
⋅ 1 2 1 , and H 3 =
⋅ 2 4 2
9
10
16
1 1 1
1 1 1
1 2 1

fo
r

1
H=
b+2

present blur or softening effects. The concept can be extended to larger size matrix. For H1-like matrix, we provided 5x5
and 7x7 option, which we named blur and more blur effects. The matrices are as follows:

1 1 1 1 1
H 5 x5

1
1
=
⋅ 1
25
1
1

1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

H 7 x7

1
1
=
⋅ 1
49
1
1

Co
nf
id
en
tia
l

1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1

1 1 1 1 1 1 1

For high-pass filter, we illustrate some commonly used matrices.

0 −1

0

−1 −1 −1

1

−2

1

H1 = −1 5 − 1 , H 2 = − 1 9 − 1 , H 3 = − 2
5 −2
0 −1 0
−1 −1 −1
1 −2
1

MT
K

These filters present edge enhancement effects. They all have the property that the sum of their elements is unity in order to
avoid amplitude bias in the processed image. In Image Engine, the user can choose HP filtering option for them.

457/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

0 −1 0
1
For matrix like H = ⋅ − 1
7 − 1 , a division-by-3 is required since the sum of its elements is not unity. For this
3
0 −1 0
case, the user should program the register IMGPROC_SCALE and choose HP filtering with scale down option.

−1 −1 −1
H = −1

8 − 1 , the sum of its elements is 0 and no division is required. The user can choose HP

fo
r

For matrix like

−1 −1 −1
filtering option for it.

Nonlinear filter

Re
lea
se

6.16.3.3

Median filter is a nonlinear technique that is useful for noise suppression in images. It consists of a 3-by-3 sliding window.
The center pixel in the window is replaced by the median of the pixels in the window.
The idea is further extended to maximum filter and minimum filter. The maximum filter presents dilation effects. It puts
more emphasis on the brighter point in the image. On the contrary, the minimum filter presents erosion effects.

6.16.4

Image process control

6.17
6.17.1

Co
nf
id
en
tia
l

For filtering application, the software can initialize, start, and stop the operation of the Image Engine. Setting START bit in
the register IMGPROC_CON starts the operation, and setting STOP bit stops the operation. Notice that the user should not
restart the next process before the Image Engine returns from BUSY state. The user can check the status by monitoring
BUSY bit in the register IMGPROC_STS.

MPEG-4/H.263 Video CODEC
General Description

MPEG-4 is an emerging video coding standard defined in ISO/IEC 14496-2. It is designed to cover a wide range of
bit-rates (typically, 5 kbps to 10Mbps). MPEG-4 standard has become one of the enabling factors for mobile multimedia
communications. H.263 is another video coding standard that is developed by ITU-T/SG 15 for low-bit-rate applications
below 64kbps. H.263 profile 0 level 10 is the mandatory video decoder in 3GPP specification. Therefore, our goal is to
design a video codec suited to both MPEG-4 and H.263 standard.

MT
K

There are two coding modes in MPEG-4 video compression: Intra-frame coding and Inter-frame coding. Intra-frame
coding refers to video coding techniques that achieve compression by exploiting the high spatial correlation between
neighboring pels within a video frame. Such techniques are also known as spatial redundancy reduction techniques or
still-image coding techniques. Inter-frame coding refers to video coding techniques that achieve compression by exploiting
the high temporal correlation between the frames of a video sequence. Such methods are also known as temporal
redundancy reduction techniques. Note that inter-frame coding may not be appropriate for some applications. For example,
it would be necessary to decode the complete inter-frame coded sequence before being able to randomly access individual
frames. Thus, a combined approach is normally used in which a number of frames are intra-frame coded (I-frames) at
specific intervals within the sequence and the other frames are inter-frame coded (Predicted or P-frames) with reference to
those key frames. Moreover, intra-frame coding is allowed in P-frames.

458/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

fo
r

The ISO/IEC 14496 specification is intended to be generic in the sense that it serves a wide range of applications,
bit-rates, resolutions, qualities and services. A number of coding tools are defined in the specification. Considering the
practicality of implementing the full syntax of this specification, a limited number of subsets of the syntax are also
stipulated by means of “profile” and “level”. A “profile” is a defined subset of the entire bitstream syntax that is defined by
this specification. A “level” is a defined set of constraints imposed on parameters in the bitstream. Our application is
focused on handset devices. Due to restriction of limited resource, only simple profile is supported for most of handset
devices. According to 3GPP TS 26.234 specification, H.263 profile 0 level 10 is the mandatory video decoder. MPEG-4
visual simple profile level 0 is an optional video decoder. The MPEG-4/H.263 codec supports both MPEG-4 simple profile
and H.263 baseline profile. Generally, the file extension of MPEG-4 video file is .mp4. The file extension of 3GPP video
file is .3gp.

The decode specification is as follows:

Re
lea
se

The design implements both decoder and encoder. The decoder block diagram is shown in Figure 34. The encoder
block diagram is shown in Figure 35

1.

Support ISO/IEC 14496-2 MPEG-4 simple profile @ level 0~3

2.

Support H.263 profile 0 level 10 (baseline profile)

3.

The following visual tools are supported
I-VOP
P-VOP
AC/DC Prediction

Co
nf
id
en
tia
l

4-MV
Unrestricted MV
Error Resilience

Slice Resynchronization
Data Partitioning

Reversible VLC

Short Header Mode

Full and Half Pel accuracy
fcode can be 1~7

Maximum horizontal luminance pixel resolution can be up to 352
Maximum vertical luminance pixel resolution can be up to 288
Error Concealment

MT
K

Single object

4.

Deblocking filter

459/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Source images are coded in blocks of pixels. Since correlation among spatially adjacent blocks is not taken into
account during coding, this results in block boundaries being visible when the decoded image is reconstructed.
The purpose of deblocking filter is to reduce blocking artifacts while keeping image edge intact. Blocking effect
can be reduced efficiently and image will be smooth after applying deblocking filter. A high quality deblocking
filter is embedded in the MPEG-4 Decoder. It performs both horizontal and vertical deblocking filtering
simultaneously while decoding. Memory access bandwidth is minimized in the design. Luminance as well as
chrominance data is filtered.

fo
r

The encoder specification is as follows:

Support ISO/IEC 14496-2 MPEG-4 simple profile @ level 0, partially support MPEG-4 simple profile @ level 1

6.

Support H.263 profile 0 level 10

7.

The following visual tools are supported
I-VOP
P-VOP
DC Prediction
Unrestricted MV
Short Header Mode
Full and Half Pel motion estimation
Decision making logic

Re
lea
se

5.

Co
nf
id
en
tia
l

fcode can be 1~3

intra_dc_vlc_threshold shall be 0

Maximum horizontal luminance pixel resolution can be up to 352

MT
K

Maximum vertical luminance pixel resolution can be up to 288

460/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Reference VOP
Motion
Coding

Coded bitstream (Motion)

Motion
Compensation

Texture Decoding

Variable
Length
Decoding

Inverse Scan

Inverse DC &
AC Prediction

Inverse
Quantization

Reconstructed VOP

Figure 34 Block Diagram of Decoder

Reference VOP

IDCT

Motion
Estimation

Motion
Compensation

Reconstructed VOP

Delay

Co
nf
id
en
tia
l

Current VOP

Re
lea
se

Coded bitstream (Texture)

fo
r

Delay

FDCT

Q

IDCT

IQ

Motion
Vector
Prediction

Variable
Length
Encoding

Variable
Length
Encoding

Bitstream
Packing

Coded bitstream

MT
K

Figure 35 Block Diagram of Encoder

461/616

MediaTek Inc. Confidential

6.17.2

Register Definitions

6.17.2.1

Main Control

MP4_CODEC_C
OMD

Video CODEC Command Register

Bit
Name
Type
Bit

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

15

14

13

12

11

10

9

8

7

6

5

Name

-

-

-

-

-

-

-

-

-

-

-

This register is the main command register for video CODEC.

19
-

18
-

17
-

16
-

4
3
2
1
0
DEC_ ENC_
DEC_ ENC_ CORE
STAR STAR
RST RST _RST
T
T
WO
WO
WO
WO
WO

Re
lea
se

Type

20
-

fo
r

MP4+0000h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4+0004h

MP4_VLC_DMA
_COMD

VLC DMA Command Register

Bit
Name
Type
Bit

31
-

30
-

15

14

Name

-

-

Type

Co
nf
id
en
tia
l

CORE_RST
Software reset control. Writing 1 to this bit will reset the hardware core excluding APB control register
set of decoder and encoder.
ENC_RST Software reset control. Writing 1 to this bit will reset the APB control register set of encoder. Note that this bit
won’t reset the hardware core.
DEC_RST Software reset control. Writing 1 to this bit will reset the APB control register set of decoder. Note that this bit
won’t reset the hardware core.
ENC_START Start the encode operation if writing 1 to this bit. The encode operation will start only when no decode
operation is running; otherwise the encode operation will queue until decode operation is done.
DEC_START Start the decode operation if writing 1 to this bit. The decode operation will start only when no encode
operation is running; otherwise the decode operation will queue until encode operation is done.

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

13

12

11

10

9

8

7

6

5

4

3

2

-

-

-

-

-

-

-

-

-

-

-

-

17
-

16
-

1
0
RESU
STOP
ME
WO
WO

This register is the main control of VLC DMA.

MT
K

STOP Stop the VLC DMA. Stop VLC DMA activities through SW rather than HW state machine.
RESUME Resume the VLC DMA access. VLC DMA state machine will go to a pending state if the maximum allowed
write count to target memory is reached and then an interrupt has occured. After re-allocating the target address,
SW writes RESUME to unfreeze the encoding process.

462/616

MediaTek Inc. Confidential

6.17.2.2

Encoder

6.17.2.2.1

Control

MP4+0100h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4_ENC_COD
EC_CONF

Encoder Configuration Register

31

30

29

28

27

26

25

24

23

22

21

20

19

Name

-

-

-

-

-

-

-

-

-

-

-

-

Type
Reset
Bit

0
15

0
14

0
13

0
5

0
4

Name

-

-

Type
Reset

0

0

17

-

-

-

0
3

0
2

0
1

0
0

IRQ

ENC

R/W
0

R/W
0

VPGO
DCT
B

Re
lea
se

0
0
0
0
0
0
0
12
11
10
9
8
7
6
MC_B
DQUA
FME HALF STEP_LIMIT
URST PMV
N
_EN
R/W R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0
0

18

fo
r

Bit

R/W
0

R/W
0

R/W
0

R/W
0

16
CHEC
K_TV

This register is used to configure the operating conditions and modes of video CODEC.
ENC

MT
K

Co
nf
id
en
tia
l

Video CODEC Operation Mode
0 Decode Mode
1 Encode Mode
IRQ
Control for interrupt request
0 Disable the interrupt reporting mechanism
1 Enable the interrupt reporting mechanism
DCT
DCT Control
0 Enable JPEG CODEC Operation
1 Enable MPEG-4 Video CODEC Operation
VPGOB Control for decoding Video Packet Header; keep this for legacy reason.
0 Disable: decoding in Video Packet Level. It means the software will take the responsibility for decoding
packet header of each video packet.
1 Enable: decoding in Video Object Plane Level
STEP_LIMIT Step limit for Motion Estimation. The total number of steps in a n-step search is STEP_LIMIT+2.
Increasing STEP_LIMIT can increase search range of motion vectors.
HALF Motion Estimation uses half-pel resolution
0 Disable. Perform full pel motion estimation only
1 Enable. Perform full pel motion estimation first, then half pel motion estimation
FME Fast Motion Enhancement
0 Enable Four Step Search motion estimation algorithm
1 Enable Mediatek proprietary motion estimation algorithm. This algorithm can improve visual quality in fast
motion pictures while maintaining the same quality as Four Step Search in slow motion pictures. Enabling this
algorithm does not increase search time. Thus, set FME to 1 is recommended.
DQUAN
Control for automatic update quantizer_scale process; keep this for legacy reason.
0 Disable
1 Enable
PMV Predictive Motion Vector Search. This is a two pass search algorithm. This algorithm can co-operate with both four
step search (FME=0) and Mediatek proprietary search (FME=1). The idea is to initially consider several highly
463/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4+0104h
Bit
Name
Type
Bit
Name
Type

Re
lea
se

fo
r

likely predictors (starting points), perform motion estimation from these predictors, and choose the best result
among these predictors. In our approach, the two predictors approach is adopted. The origin (0,0) is considered as
the predictor of first pass. The minimum BDM point found in first pass will be the predictor of the second pass.
After finishing two-pass motion estimation, choose the best result between the two minimum BDM points. This
algorithm can significantly improve PSNR by about 0.8dB. However, the search time will increase by about 60%.
Setting PMV to 1 or 0 is the trade-off between visual quality and search time.
0 Disable
1
EnableMC_BURST_EN 2-beat Burst mode enable signal in MC.
0 Diable
1 Enable
CHECK_TVEnable signal to check if TV codec is busy before starting encoding operation.
0 Do not check TV codec
1 Check TV codec

Encoder Status Register

31

30

29

28

27

26

25

RO
15

RO
14

RO
13

RO
12

RO
11

RO
10

RO
9

RO

RO

RO

RO

RO

RO

RO

24
23
STATE
RO
RO
8
7
STATE
RO
RO

MP4_ENC_STS

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

RO
1

RO
0

RO

RO

RO

RO

RO

RO

RO

MP4+0108h

MP4_ENC_IRQ_
MASK

Encoder Interrupt Mask Register

Bit
Name
Type
Reset
Bit

31
-

30
-

15

14

Name

-

-

Type
Reset

Co
nf
id
en
tia
l

This register provides the state information of encoding sequencer for software program. It is a mirror of the HW one-hot
sequencer state machine and can be used for debugging or IRQ status judging.

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

13

12

11

10

9

8

7

6

5

4

3

2

-

-

-

-

-

-

-

-

-

-

17
-

16
-

1
0
BLOC
ENC_
DMA PACK K_DO
DONE
NE
R/W R/W R/W R/W
1
1
1
1

This register contains mask bit for each interrupt source in MPEG-4 Video encoder. It allows each interrupt source to be
disabled or masked out separately under software control. After System Reset or software reset, all bit values will be set to
‘0’ to indicate that interrupt requests are enabled.
Mask of VLE DMA Limit interrupt.

MT
K

DMA
PACK

Mask of video packet bit count expire interrupt.

BLOCK_DONE Mask of block procedure complete interrupt.
ENC_DONE

Mask of encode complete interrupt.

464/616

MediaTek Inc. Confidential

MP4+010Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4_ENC_IRQ_
STS

Encoder Interrupt Status Register

Bit
Name
Type
Bit

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

15

14

13

12

11

10

9

8

7

6

5

4

3

Name

-

-

-

-

-

-

-

-

-

-

-

-

18
-

17
-

16
-

1
0
BLOC
ENC_
DMA PACK K_DO
DONE
NE
RO
RO
RO
RO

fo
r

2

Type

Re
lea
se

This register allows software program to poll which interrupt source generates the interrupt request. A bit set to ‘1’ indicates
a corresponding active interrupt source. Note that IRQ control bit in MP4_ENC_CODEC_CONF should be enabled first
in order to activate the interrupt reporting mechanism.
DMA

Mask of VLC DMA interrupt. When decoder detects empty VLD stream buffer, an interrupt will inform the
driver SW to refill the VLD stream buffer.

PACK

Video Packet Bit Count Exceed interrupt. If a video packet size is larger than defined the interrupt will happen.

BLOCK_DONE Block decode or encode complete. A normal complete flag if the SW needs a block-based HW decoding
or encoding.
Encode complete. A normal condition when encoding procedure is done.

MP4+0110h

Encoder Interrupt Acknowledge Register

Bit
Name
Type
Bit

31
-

30
-

15

14

Name

-

-

Type

Co
nf
id
en
tia
l

ENC_DONE

MP4_ENC_IRQ_
ACK

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

13

12

11

10

9

8

7

6

5

4

3

2

-

-

-

-

-

-

-

-

-

-

17
-

16
-

1
0
BLOC
ENC_
DMA PACK K_DO
DONE
NE
WC
WC
WC
WC

This register provides a mean for software program to acknowledge the interrupt source. Writing a ‘1’ to the specific bit
position will result in an acknowledgement to the corresponding interrupt source and clear the corresponding bit in
MP4_ENC_IRQ_STS.
ENC_DONE
Encode Task Complete
BLOCK_DONE Block Task Complete
PACK
Video Packet Bit Count Expired
DMA
VLC DMA Buffer Limit Reached

Bit
Name
Type
Reset

31
-

MP4_ENC_CON
F

Encoder Configuration Register

MT
K

MP4+0114h
30
-

29
-

28
-

27
-

26

25

24

23

R/W
0

R/W
0

R/W
0

R/W
0

465/616

22
21
PACKCNT
R/W R/W
0
0

20

19

18

R/W
0

R/W
0

R/W
0

17

16
PACK
R/W R/W
0
0

MediaTek Inc. Confidential

Bit
15
Name
Type R/W
0
Reset

14
R/W
0

13

12

R/W
0

R/W
0

11
10
INTRA
R/W R/W
0
0

9

8

R/W
0

R/W
0

7
-

6
-

5

4

R/W
0

R/W
0

3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
2
SKIP
R/W R/W
0
0

This register is used specially to configure the desired encode conditions and modes for video CODEC.
SKIP

1

0

R/W
0

R/W
0

Base Addresses

MP4+0124h
Bit
31
Name
Type RO
Bit
15
Name
Type R/W

MP4_ENC_VOP
_ADDR

Encoder Current VOP Base Address Register
30

RO
14
R/W

29

28

27

26

25

24
23
VOP
RO
RO
RO
9
8
7
VOP
R/W R/W R/W

Co
nf
id
en
tia
l

6.17.2.2.2

Re
lea
se

fo
r

Threshold for deciding not_coded bit. The value of SKIP is programmed by software first. The first round of
pattern code (me_pattern_code is set to 6’h0 whenever (SADy + SDAu + SADv) <= skip_threshold*16
not_coded bit will be set if pattern_code = 6’h0 and motion vector = (0,0)
INTRA Threshold for deciding INTRA Coding in P frame. The value of INTRA is programmed by software first. The
3-bits macro-block type (mb_type) is set to 3’h0 (Inter MB) if SADy < intra_threshold*1024. Otherwise, mb_type
is set to 3’h3 (Intra_MB)
PACK Use Video Packet Mode
0 Disable
1 Enable
PACKCNT Desired Bit Counts for a Video Packet. Used in encode mode to define the largest VLE buffer size of a video
packet

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

R/W

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the starting address of Current VOP Frame that is going to be encoded. Note that this base address
should be 4-byte aligned. And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420
format).
VOP

Current VOP Base Address.

MP4+0128h
30
RO
14
R/W

29

28

27

26

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

R/W

25

24

23
REF
RO
RO
RO
9
8
7
REF
R/W R/W R/W

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

MT
K

Bit
31
Name
Type RO
Bit
15
Name
Type R/W

MP4_ENC_REF_
ADDR

Encoder Reference VOP Base Address Register

This register describes the starting address of Reference VOP Frame. Note that this base address should be 4-byte aligned.
And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
REF

Reference VOP Base Address.

466/616

MediaTek Inc. Confidential

MP4+012Ch

22

21

20

19

RO
6

RO
5

RO
4

RO
3

R/W

R/W

R/W

R/W

R/W

MP4_ENC_REC
_ADDR

Encoder Reconstructed VOP Base Address Register

30

29

28

27

26

RO
14

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

R/W

R/W

25

24

23
REC
RO
RO
RO
9
8
7
REC
R/W R/W R/W

18

17

16

RO
2

R/W
1
-

R/W
0
-

fo
r

Bit
31
Name
Type RO
Bit
15
Name
Type R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

This register describes the starting address of Reconstructed VOP Frame. Note that this base address should be 4-byte
aligned. And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
REC

MP4+0130h
Bit
31
Name
Type
Bit
15
Name
Type R/W

Re
lea
se

Reconstructed VOP Base Address. The high boundary address of Reconstructed VOP should not cross 1M address
boundary because the implementation of address offset counter is 20 bits. i.e. please make sure (the lower 20bits
Reconstructed base address + size of Reconstructed frame) < 220

VLE Data Load-Store LSB Base Address Register
30

29

28

27

26

14

13

12

11

10

R/W

R/W

R/W

R/W

R/W

25

24
23
STORE

9
8
STORE
R/W R/W

MP4_ENC_DAT
A_STORE_ADD
R

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

Co
nf
id
en
tia
l

This register describes the LSB address of VLE Data Load-Store buffer in data-partitioned mode. Note that this base
address should be 4-byte aligned. And the required buffer size for encoder and decoder should be: 3K bytes and number of
macroblock per frame * 32 bytes, respectively.
STORE LSB address of VLE Data Load-Store buffer

MP4+0134h
Bit
31
Name
Type
Bit
15
Name
Type R/W

DC/AC Prediction Storage LSB Base Address Register
30
14

R/W

29

28

27

26

13

12

11

10

R/W

R/W

R/W

R/W

25

24
23
DACP

9
8
DACP
R/W R/W

MP4_ENC_DAC
P_ADDR

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the LSB address of DC/AC Prediction Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder and decoder should be: 1K bytes and 4K bytes, respectively.

MT
K

DACP LSB address of DC/AC Prediction Storage buffer

MP4+0138h
Bit
Name

31

MP4_ENC_MVP
_ADDR

Motion Vector Storage LSB Base Address Register

30

29

28

27

26

25

24
23
MVP_ADDR

467/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type
Bit
15
Name
Type R/W

14

13

12

11

10

R/W

R/W

R/W

R/W

R/W

9
8
MVP_ADDR
R/W R/W

7

6

5

4

3

R/W

R/W

R/W

R/W

R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

2

R/W

R/W
1
-

R/W
0
-

MVP_ADDR

LSB address of Motion Vector Storage buffer

6.17.2.2.3

Data Structure

Encoder VOP Structure 0 Register

Re
lea
se

MP4+0140h

fo
r

This register describes the LSB address of Motion Vector Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder should be mb_x_limit * 2 * 4 bytes, which equals to 320 Bytes for VGA
size.

Bit

31

30

29

28

27

26

25

24

Name

-

-

-

-

-

-

-

-

Type
Bit

15

14

13

12

11

10

9

8

R/W

R/W

R/W

R/W

R/W

Name
Type

VLCTHR
R/W

R/W

QUANT
R/W

MP4_ENC_VOP
_STRUCT0

23

22

21

20

19

18

-

-

-

-

-

-

7

6

5

17

16
ROUN
D
R/W
0

4
3
2
1
SHOR
FCODE
RVLC DATA TYPE
T
R/W R/W R/W R/W R/W R/W R/W R/W

This register is used to describe the header information of a certain Video Object Plane that is going to be processed by
video CODEC.

MT
K

Co
nf
id
en
tia
l

TYPE vop_coding_type definition, for both decode and encode.
0 This is a P-VOP frame (inter frame)
1 This is an I-VOP frame (intra frame)
DATA data_partitioned, for decode only; keep this for legacy reason.
0 Data stream is in non-data-partitioned mode
1 Data stream is in data-partitioned mode
RVLC resversible_vlc, for decode only; keep this for legacy reason.
0 Data stream contains no reversible VLC information
1 Data stream uses reversible VLC tables.
SHORT short_video_header; for both decode and encode
0 Normal MPEG-4 format
1 H.263 Compatible format
FCODE fcode size setting for both decode and encode, ranges from 0 to 7.
QUANT vop_quant. For both decode and encode. Quantizer scale of the current frame. For variable Q in decode mode,
QUANT is an initial setting of the current frame.
VLCTHR intra_dc_vlc_thr. For decode only. According to VLCTHR, the decoder has to switch from intra DC mode to
inter DC mode when the quantizer_scale is larger than a pre-defined value. VLCTHR ranges from 0 to 7.
ROUND
Rounding type of half-pel motion compensation. ROUND==1 means truncation toward zero (the pixel value
is always larger than 0); ROUND==0 means rounding-off addition.

468/616

MediaTek Inc. Confidential

MP4+0144h

MP4_ENC_VOP
_STRUCT1

Encoder VOP Structure 1 Register
30
-

29
-

14
R/W

13
R/W

28
R/W
12
R/W

27

26
25
HECBIT
R/W R/W R/W
11
10
9
YLIMIT
R/W R/W R/W

24
R/W
8
R/W

23
-

22
-

21
-

20
-

7
R/W

6
R/W

5
R/W

4

19

18
17
MBLENGTH
R/W R/W R/W
3
2
1
XLIMIT
R/W R/W R/W

R/W

16

R/W
0

R/W

fo
r

Bit
31
Name
Type
Bit
15
Name
Type R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.

MP4+0148h

Encoder VOP Structure 2 Register

31
-

30
-

29
-

28
-

27
-

15
-

14
-

13
-

12

11

R/W

26
-

25
-

10
9
VP_YPOS
R/W R/W R/W

24

R/W
8

R/W

23

22

R/W
7
-

R/W
6
-

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Re
lea
se

XLIMIT Macroblock count in X direction of a frame.
YLIMIT Macroblock count in Y direction of a frame.
MBLENGTH
Bit count of Macroblock Number in Video Packet Header. It is a value defined by the following formula:
MBCNT = (XLIMIT+15)/16 * (YLIMIT+15)/16. For larger MBCNT, we have larger MBLENGTH.
MBLENGTH is ranged from 1 to 14.
HECBIT
Bit count of extension header code in Video Packet Header

MP4_ENC_VOP
_STRUCT2

21

20
19
18
17
MBNO
R/W R/W R/W R/W R/W
5
4
3
2
1
VP_XPOS
R/W R/W R/W R/W

16
R/W
0
R/W

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.
VP_XPOS Starting position of the current Video Packet in X coordinate.
VP_YPOS Starting position of the current Video Packet in Y coordinate.
MBNO
Macroblock count limit for a video packet or frame. For a CIF frame the value will be 396.

MP4+014Ch
Bit
Name
Type
Bit
Name
Type

31
-

30
-

15
-

14
-

MP4_VOP_STR
UCT3

VOP Structure 3 Register
29
-

28
-

27
-

26
-

25
-

24

23

22

13
-

12

11

RO

RO

10
YPOS
RO

9

RO
8

RO

RO

RO
7
-

RO
6
-

21

20
MBNO
RO
RO
5
4
RO

19

18

17

16

RO
3

RO
2
XPOS
RO

RO
1

RO
0

RO

RO

RO

MT
K

This register provides the position and count information of a certain macroblock that is currently under process of video
CODEC.
XPOS Current Macroblock Position in X coordinate
YPOS Current Macroblock Position in Y coordinate
MBNO Current Macroblock Count

469/616

MediaTek Inc. Confidential

Bit
Name
Type
Bit

MP4_ENC_MB_
STRUCT0

MB Structure 0 Register

31
-

30
-

15

14

29
-

28
-

13
12
DCVL
AC
Name QUANTIZER
C
Type R/W R/W R/W R/W

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

11

10

9

8

7

6

5

4

3

R/W

R/W

R/W

DQUANT
R/W

R/W

PATTERN
R/W

R/W

R/W

R/W

18
17
16
QUANTIZER
R/W R/W R/W
2
1
0
CODE
TYPE
D
R/W R/W R/W

fo
r

MP4+0150h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Re
lea
se

This register is used to store the header information of current macroblock. This register is mostly used for debugging. Also
used to provide hardware certain header information if all header parsing is done by software instead of hardware.
CODED
not_coded flag of current macroblock; not_coded can be decoded by hardware from macroblock header.
TYPE
mb_coding_type of current macroblock; mb_coding_type can be decoded by hardware from mcbpc in
macroblck header.
PATTERN pattern_code of current macroblock; pattern_code can be decoded by hardware from cbpc and cbpy in
macroblock header.
DQUANT dquant. It can be –2, -1, +1 or +2; total 4 possible choices using 2 bits to represent; dquant can be decoded by
hardware from macroblock header.
AC
ac_pred_flag. It decides whether AC prediction is needed; always 0 in encoder; ac_pred_flag can be decoded
by hardware from macroblock header.
DCVLC
use_intra_dc_vlc. If this bit is 0, intra AC VLC decode is used (no intra DC exists in current macroblock).
QUANTIZER quantizer_scale, ranged from 1 to 31. It can be variable if we have dquant values.

VLC DMA

MP4+0160h
Bit
31
Name
Type R/W
Bit
15
Name
Type R/W

Co
nf
id
en
tia
l

6.17.2.2.4

MP4_ENC_VLC_
BASE_ADDR

Encoder VLC DMA Base Address Register
30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

R/W

R/W

R/W

R/W

R/W

25

24
23
BASE
R/W R/W R/W
9
8
7
BASE
R/W R/W R/W

22

21

20

19

18

17

16

R/W
6

R/W
5

R/W
4

R/W
3

R/W
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register is used to describe the address of started Code Word for each VLC DMA buffer. Note that this base address
should be 4-byte aligned.
BASE VLC DMA Base Address

Bit
Name
Type
Bit

MP4_ENC_VLC_
BASE_BITCNT

Encoder VLC DMA Base Bit Count Register

MT
K

MP4+0164h
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

470/616

MediaTek Inc. Confidential

Name
Type

-

-

-

-

-

-

-

-

-

-

-

R/W

R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
BIT
R/W

R/W

R/W

This register is used to describe the starting bit position of the 1st Code Word in the 1st VLC DMA buffer. For the following
VLC DMA buffers, it is assumed that they are all 4-byte aligned and always start from bit position “0”.
Start of Bit at the 1st Code Word of 1st DMA Buffer

Bit
31
Name
Type
Reset
0
Bit
15
Name
Type R/W
1
Reset

MP4_ENC_VLC_
LIMIT

Encoder VLC DMA Buffer Limit Register

fo
r

MP4+0168h
30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

0
14

0
13

0
12

0
11

0
10

0
9

0
8

0
7

0
6

0
5

0
4

0
3

0
2

0
1

0
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

LIMIT
R/W R/W
1
1

Re
lea
se

BIT

R/W
1

R/W
1

R/W
1

R/W
1

This register is used to describe the buffer size of each VLC DMA buffer. Note that the value is counted in word (32-bit).
Whenever the limit is reached and the corresponding interrupt control is enabled, an interrupt request will be generated.
LIMIT DMA Buffer Size, Count in Word (32-bit)

MP4+016Ch
30

29

28

27

26

25

RO
14

RO
13

RO
12

RO
11

RO
10

RO

RO

RO

RO

RO

MP4_ENC_VLC_
WORD

22

21

20

19

18

17

16

RO
9

24
23
ADDR
RO
RO
8
7

RO
6

RO
5

RO
4

RO
3

RO
2

RO
1

RO
0

RO

RO

RO

RO

RO

RO

RO

RO

RO

Co
nf
id
en
tia
l

Bit
31
Name
Type RO
Bit
15
Name ADDR
Type RO

Encoder VLC DMA Current Word Register

RO

This register provides the address information of a certain code word that is under process of video CODEC. SW reads it
back after encode of a frame is done.
ADDR VLC DMA current Address

MP4+0170h
Bit
Name
Type
Bit
Name
Type

MP4_ENC_VLC_
BITCNT

Encoder VLC DMA Current Bit Count Register

31
-

30
-

15
-

14
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

13
-

12
-

11
-

10
-

9
-

8
-

7
-

6
-

5
-

4

3

RO

18
-

17
-

16
-

2
1
BITCNT
RO
RO
RO

0
RO

MT
K

This register provides the bit position information of a certain Code Word that is under process of video CODEC.
BITCNT

Current Bit Count

471/616

MediaTek Inc. Confidential

30

29

28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

25
24
23
22
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

fo
r

Bit
31
Name
Type R/W
Reset
1
Bit
15
Name
Type R/W
Reset
1

MP4_ENC_VLC_
JUMP_FROM_A
DDR

Encoder VLC DMA Ring Buffer Ending Address
Register

MP4+0174h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Encoder VLC DMA Ring Buffer Starting Address
Register

MP4+0178h
30

29

28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

25

24
23
22
JUMP_TO_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_TO_ADDR
R/W R/W R/W R/W
1
1
1
1

Co
nf
id
en
tia
l

Bit
31
Name
Type R/W
1
Reset
Bit
15
Name
Type R/W
Reset
1

Re
lea
se

JUMP_FROM_ADDR
The ending address of the current DMA buffer; when a jump takes place in VLC DMA
address counter, the address will jump from the ending address of the current DMA buffer, which is
JUMP_FROM_ADDR, to the starting address of the next DMA buffer, which is JUMP_TO_ADDR.
To disable the ring buffer feature, set this register to all ones; note that the address counter will not
jump until done with the content in memory with address as JUMP_FROM_ADDR. So the memory
content with address JUMP_FROM_ADDR will be executed by hardware.

MP4_ENC_VLC_
JUMP_TO_ADD
R

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

JUMP_TO_ADDR The starting address of the next DMA buffer; when a jump takes place in VLC DMA address
counter, the address will jump from the ending address of the current DMA buffer, which is JUMP_FROM_ADDR, to the
starting address of the next DMA buffer, which is JUMP_TO_ADDR; note that the address counter will not jump until done
with the content in memory with address as JUMP_FROM_ADDR. So the memory content with address
JUMP_FROM_ADDR will be executed by hardware.

6.17.2.2.5

MPEG4 Encoder Resync Marker Configuration 0
Register

MT
K

MP4+0180h

Resync Marker

Bit
31
30
29
Name EN MODE
Type R/W R/W R/W
Reset
0
0
1
Bit
15
14
13

28

27

26

25

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1
9

24

23
22
21
PERIOD_BITS
R/W R/W R/W R/W
1
1
1
1
8
7
6
5

472/616

MP4_ENC_RES
YNC_CONF0

20

19

18

17

16

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

MediaTek Inc. Confidential

Name
Type R/W
Reset
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

PERIOD_BITS
R/W R/W R/W
1
1
1

R/W
1

R/W
1

R/W
1

EN

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

R/W
1

R/W
1

R/W
1

fo
r

Resync marker insertion enable
0 Disable resync marker insertion
1 Enable resync marker insertion
MODE Resync Marker insertion mode selection
0 resync marker is inserted based on number of bits
1 resync marker is inserted based on number of macroblocks
PERIOD_BITS Period in number of bits to insert resync marker; only effective when MODE is set to 0; hardware will
insert resync marker at the next macroblock boundary once the bit length of a video packet exceeds this value.

Bit
31
Name
Type R/W
Reset
0
Bit
15
Name
Type R/W
Reset
1

MPEG4 Encoder Resync Marker Configuration 1
Register

30
R/W
0
14

29
R/W
0
13

28
R/W
0
12

27
R/W
0
11

26
R/W
0
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

HEC

25
R/W
0
9

Re
lea
se

MP4+0184h

24
23
22
R/W R/W R/W
0
0
0
8
7
6
PERIOD_MB
R/W R/W R/W R/W
1
1
1
1

MP4_ENC_RES
YNC_CONF1

21
R/W
0
5

20
R/W
0
4

19
R/W
0
3

18
R/W
0
2

17
R/W
0
1

16
HEC
R/W
0
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

MP4+0188h
Bit
31
Name
Type R/W
Reset
0
Bit
15
Name
Type R/W
Reset
0

Co
nf
id
en
tia
l

Header Extension Code; indicates the value of header_extension_code in MPEG4 standard (ISO/IEC 14496-2)
0 header_extension_code is 0.
1 header_extension_code is 1.
PERIOD_MB Period in number of macroblocks (MB) to insert resync marker; only effective when MODE is set to 1;
hardware will insert resync marker at the next macroblock boundary once the number of macroblock in current
video packet exceeds this value.

MP4_ENC_TIME
_BASE

MPEG4 Encoder Local Time Base Register

30
R/W
0
14

29
R/W
0
13

28
R/W
0
12

27
R/W
0
11

26
R/W
0
10

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

25
24
23
22
21
20
MODULO_TIME_BASE
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
9
8
7
6
5
4
VOP_TIME_INCREMENT
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

19

18

R/W
0
3

17
BW
R/W R/W
0
0
2
1

R/W
0
0

R/W
0

R/W
0

R/W
0

R/W
0

16

MT
K

MODULO_TIME_BASE Represent the value of modulo_time_base; value ranges from 0 to 31.
BW
Bit width of vop_time_increment. The real bit-width of vop_time_increment is (BW + 1), ranging from 1 to 16.
VOP_TIME_INCREMENT Carries the value of vop_time_increment defined in MPEG4 standard (ISO/IEC 14496-2); the
meaningful bit width of vop_time_increment is signaled by BW field.

473/616

MediaTek Inc. Confidential

6.17.2.3

Decoder

MP4+0200h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4_DEC_COD
EC_CONF

Decoder Configuration Register

31

30

29

28

27

26

25

24

23

22

21

20

19

Name

-

-

-

-

-

-

-

-

-

-

-

-

-

Type
Reset
Bit

0
15

0
14

0
13

0
6

0
5

0
4

0
3

STEP_LIMIT
R/W
0

R/W
0

17

-

-

0
2

0
1

16
CHEC
K_TV
R/W
0
0

IRQ

ENC

R/W
0

R/W
0

VPGO
DCT
B

R/W
0

R/W
0

Re
lea
se

0
0
0
0
0
0
12
11
10
9
8
7
MC_B
DEBL COPY
DQUA
Name
URST PMV
FME HALF
N
OCK _REC
_EN
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0

18

fo
r

Bit

R/W
0

This register is used to configure the operating conditions and modes of video CODEC.
ENC

MT
K

Co
nf
id
en
tia
l

Video CODEC Operation Mode
0 Decode Mode
1 Encode Mode
IRQ
Control for interrupt request
0 Disable the interrupt reporting mechanism
1 Enable the interrupt reporting mechanism
DCT
DCT Control
0 Enable JPEG CODEC Operation
1 Enable MPEG-4 Video CODEC Operation
VPGOB Control for decoding Video Packet Header; keep this for legacy reason.
0 Disable: decoding in Video Packet Level. It means the software will take the responsibility for decoding
packet header of each video packet.
1 Enable: decoding in Video Object Plane Level
STEP_LIMIT Step limit for Motion Estimation, for encode only; keep this for legacy reason. The total number of steps
in a n-step search is STEP_LIMIT+2. Increasing STEP_LIMIT can increase search range of motion vectors.
HALF Motion Estimation uses half-pel resolution, for encode only; keep this for legacy reason.
0 Disable. Perform full pel motion estimation only
1 Enable. Perform full pel motion estimation first, then half pel motion estimation
FME Fast Motion Enhancement, for encode only; keep this for legacy reason.
0 Enable Four Step Search motion estimation algorithm
1 Enable Mediatek proprietary motion estimation algorithm. This algorithm can improve visual quality in fast
motion pictures while maintaining the same quality as Four Step Search in slow motion pictures. Enabling this
algorithm does not increase search time. Thus, set FME to 1 is recommended.
DQUAN
Control for automatic update quantizer_scale process.
0 Disable
1 Enable
PMV Predictive Motion Vector Search, for encode only; keep this for legacy reason. This is a two pass search algorithm.
This algorithm can co-operate with both four step search (FME=0) and Mediatek proprietary search (FME=1). The
idea is to initially consider several highly likely predictors (starting points), perform motion estimation from these

474/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Re
lea
se

fo
r

predictors, and choose the best result among these predictors. In our approach, the two predictors approach is
adopted. The origin (0,0) is considered as the predictor of first pass. The minimum BDM point found in first pass
will be the predictor of the second pass. After finishing two-pass motion estimation, choose the best result between
the two minimum BDM points. This algorithm can significantly improve PSNR by about 0.8dB. However, the
search time will increase by about 60%. Setting PMV to 1 or 0 is the trade-off between visual quality and search
time.
0 Disable
1 Enable
COPY_REC
Enable signal to copy reconstructed memory to deblocking memory.
0 Disable
1 Enable
DEBLOCK Enable signal for deblocking mode. 3 different combination of DEBLOCK and COPY_REC are shown below
00 (DECLOCK = 0 & COPY_REC = 0) : disable both deblocking filter and memory copy from reconstructed
memory to deblocking memory.
01 (DECLOCK = 0 & COPY_REC = 1) : disable both deblocking filter and memory copy from reconstructed
memory to deblocking memory.
10 (DECLOCK = 1 & COPY_REC = 0) : Enable deblocking filter and save deblocked frame to deblocking
memory.
11 (DECLOCK = 1 & COPY_REC = 1) : Disable deblocking filter and save non-deblocked frame to deblocking
memory.
CHECK_TVEnable signal to check if TV codec is busy before starting decoding operation.
0 Do not check TV codec
1 Check TV codec

Bit
Name
Type
Bit
Name
Type

Decoder Status Register

31

30

RO
15

RO
14

RO

RO

Co
nf
id
en
tia
l

MP4+0204h

29

28

27

26

25

RO
13

RO
12

RO
11

RO
10

RO
9

RO

RO

RO

RO

RO

24
23
STATE
RO
RO
8
7
STATE
RO
RO

MP4_DEC_STS
22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

RO
1

RO
0

RO

RO

RO

RO

RO

RO

RO

This register provides the state information of decoding sequencer for software program. It is a mirror of the HW one-hot
sequencer state machine and can be used for debugging or IRQ status judging.

MP4+0208h
31
-

30
-

15

14

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

13

12

11

10

9

8

7

6

5

-

-

-

-

-

-

-

MT
K

Bit
Name
Type
Reset
Bit
Name

-

MP4_DEC_IRQ_
MASK

Decoder Interrupt Mask Register

-

-

Type
Reset

475/616

20
-

19
-

18
-

17
-

4
3
2
1
BLOC
DEC_ MARK
DMA K_DO
RLD
DONE ER
NE
R/W R/W R/W R/W R/W
1
1
1
1
1

16
0
VLD
R/W
1

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This register contains mask bit for each interrupt sources in MPEG-4 Video Decoder. It allows each interrupt source to be
disabled or masked out separately under software control. After System Reset or software reset, all bit values will be set to
‘0’ to indicate that interrupt requests are enabled.
DMA

Mask of VLC DMA interrupt.

BLOCK_DONE Mask of block procedure complete interrupt.
DEC_DONE

Mask of marker error interrupt in decode.

RLD

Mask of run length coding error interrupt

VLD

Mask of VLD error interrupt generated in decoding process.

MP4+020Ch

Re
lea
se

MARK

fo
r

Mask of decode complete interrupt.

Decoder Interrupt Status Register

Bit
Name
Type
Bit

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15

14

13

12

11

10

9

8

Name

-

-

-

-

-

-

-

-

Type

23
-

22
-

21
-

7

6

5

-

-

20
-

19
-

MP4_DEC_IRQ_
STS
18
-

17
-

4
3
2
1
BLOC
DEC_
DMA K_DO
MARK RLD
DONE
NE
RO
RO
RO
RO
RO

16
0
VLD
RO

DMA

Co
nf
id
en
tia
l

This register allows software program to poll which interrupt source generates the interrupt request. A bit set to ‘1’ indicates
a corresponding active interrupt source. Note that IRQ control bit in MP4_DEC_CODEC_CONF should be enabled first
in order to activate the interrupt reporting mechanism.
Mask of VLC DMA interrupt. When decoder detects empty VLD stream buffer, an interrupt will inform the
driver SW to refill the VLD stream buffer.

BLOCK_DONE Block decode or encode complete. A normal complete flag if the SW needs a block-based HW decoding
or encoding..
DEC_DONE

Decode complete. A normal condition when decoding procedure is done.

MARK

Marker decode error occurred.

RLD

Run length coding error. Generated when the accumulated run value is larger than 64 (the 8x8 block memory
size).

VLD

VLD error of decoding process. Generated when a code can not be correctly referenced in VLD table

MP4+0210h
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

MT
K

Bit
Name
Type
Bit

MP4_DEC_IRQ_
ACK

Decoder Interrupt Acknowledge Register

476/616

MediaTek Inc. Confidential

Name

-

-

-

-

-

-

-

-

-

-

Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
BLOC
DEC_
DMA K_DO
MARK RLD
DONE
NE
WC
WC
WC
WC
WC

VLD
WC

This register provides a mean for software program to acknowledge the interrupt source. Writing a ‘1’ to the specific bit
position will result in an acknowledgement to the corresponding interrupt source.

Base Address

MP4+0224h
Bit
31
Name
Type R/W
Bit
15
Name
Type R/W

Re
lea
se

6.17.2.3.1

fo
r

VLD
Variable Length Decoding Error
RLD
Run Length Decoding Error
MARK Marker Decoding Error
DEC_DONE
Decode Task Complete
BLOCK_DONE Block Task Complete
DMA VLC DMA Buffer Limit Reached

Decoder Reference VOP Base Address Register
30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

R/W

R/W

R/W

R/W

R/W

25

24
23
REF_ADDR
R/W R/W R/W
9
8
7
REF_ADDR
R/W R/W R/W

MP4_DEC_REF_
ADDR

22

21

20

19

18

17

16

R/W
6

R/W
5

R/W
4

R/W
3

R/W
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

REF

Co
nf
id
en
tia
l

This register describes the starting address of Reference VOP Frame. Note that this base address should be 4-byte aligned.
And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
Reference VOP Base Address.

MP4+0228h
Bit
31
Name
Type R/W
Bit
15
Name
Type R/W

MP4_DEC_REC
_ADDR

Decoder Reconstructed VOP Base Address Register
30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

R/W

R/W

R/W

R/W

R/W

25

24
23
REC_ADDR
R/W R/W R/W
9
8
7
REC_ADDR
R/W R/W R/W

22

21

20

19

18

17

16

R/W
6

R/W
5

R/W
4

R/W
3

R/W
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the starting address of Reconstructed VOP Frame. Note that this base address should be 4-byte
aligned. And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
REC

Reconstructed VOP Base Address.

Bit
31
Name
Type R/W
Bit
15

MP4_DEC_DEB
LOCK_ADDR

Decoder Deblocking Base Address Register

MT
K

MP4+022Ch
30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

25

24
23
22
DEBLOCK_ADDR
R/W R/W R/W R/W
9
8
7
6

477/616

21

20

19

18

17

16

R/W
5

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

MediaTek Inc. Confidential

Name
Type R/W

R/W

R/W

R/W

R/W

DEBLOCK_ADDR
R/W R/W R/W R/W

R/W

R/W

R/W

R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
-

R/W

-

This register describes the starting address of deblocking frame. Note that this base address should be 4-byte aligned. And
the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
DEBLOCK_ADDR

29

28

27

26

14

13

12

11

10

R/W

R/W

R/W

R/W

R/W

25

24
23
STORE

9
8
STORE
R/W R/W

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

Re
lea
se

30

fo
r

MP4_DEC_DAT
Decoder Data Load-Store LSB Base Address Register A_STORE_ADD
R

MP4+0230h
Bit
31
Name
Type
Bit
15
Name
Type R/W

Deblocking Base Address.

This register describes the LSB address of memory buffer used to store the macroblock header, Intra DC values and motion
vectors as decoding data-partitioned MPEG4 files. Note that this base address should be 4-byte aligned. And the required
buffer size for encoder and decoder should be: 3K bytes and number of macroblock per frame * 32 bytes, respectively.
STORE LSB address of VLE Data Load-Store buffer

Bit
31
Name
Type
Bit
15
Name
Type R/W

DC/AC Prediction Storage LSB Base Address Register
30
14

R/W

29

28

27

26

25

24
23
DACP

13

12

11

10

R/W

R/W

R/W

R/W

9
8
DACP
R/W R/W

MP4_DEC_DAC
P_ADDR

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

Co
nf
id
en
tia
l

MP4+0234h

This register describes the LSB address of DC/AC Prediction Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder and decoder should be: 1K bytes and 4K bytes, respectively.
DACP LSB address of DC/AC Prediction Storage buffer

MP4+0238h
Bit
31
Name
Type
Bit
15
Name
Type R/W

MP4_DEC_MVP
_ADDR

Motion Vector Storage LSB Base Address Register
30
14

R/W

29

28

27

26

13

12

11

10

R/W

R/W

R/W

R/W

25

24
23
MVP_ADDR

9
8
MVP_ADDR
R/W R/W

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

MT
K

This register describes the LSB address of Motion Vector Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder should be mb_x_limit * 2 * 4 bytes, which equals to 320 Bytes for VGA
size.
MVP_ADDR

LSB address of Motion Vector Storage buffer

478/616

MediaTek Inc. Confidential

6.17.2.3.2

Data Structure

MP4+0240h

MP4_DEC_VOP
_STRUCT0

Decoder VOP Structure 0 Register

Bit

31

30

29

28

27

26

25

24

23

22

21

20

19

Name

-

-

-

-

-

-

-

-

-

-

-

-

-

Type
Bit

15

14

13

12

11

10

9

8

7

6

5

R/W

R/W

Type

VLCTHR
R/W

R/W

QUANT
R/W

R/W

R/W

R/W

18

17

-

16
ROUN
D
R/W
0

4
3
2
1
SHOR
FCODE
RVLC DATA TYPE
T
R/W R/W R/W R/W R/W R/W R/W R/W

fo
r

Name

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Re
lea
se

This register is used to describe the header information of a certain Video Object Plane that is going to be processed by
video CODEC.

MP4+0244h

MP4_DEC_VOP
_STRUCT1

Decoder VOP Structure 1 Register
30
-

14
R/W

29
-

13
R/W

MT
K

Bit
31
Name
Type
Bit
15
Name
Type R/W

Co
nf
id
en
tia
l

TYPE vop_coding_type definition, for both decode and encode.
0 This is a P-VOP frame (inter frame)
1 This is an I-VOP frame (intra frame)
DATA data_partitioned, for decode only.
0 Data stream is in non-data-partitioned mode
1 Data stream is in data-partitioned mode
RVLC resversible_vlc, for decode only.
0 Data stream contains no reversible VLC information
1 Data stream uses reversible VLC tables.
SHORT short_video_header; for both decode and encode
0 Normal MPEG-4 format
1 H.263 Compatible format
FCODE fcode size setting for both decode and encode, ranges from 0 to 7.
QUANT vop_quant. For both decode and encode. Quantizer scale of the current frame. For variable Q in decode mode,
QUANT is an initial setting of the current frame.
VLCTHR intra_dc_vlc_thr. For decode only. According to VLCTHR, the decoder has to switch from intra DC mode to
inter DC mode when the quantizer_scale is larger than a pre-defined value. VLCTHR ranges from 0 to 7.
ROUND
Rounding type of half-pel motion compensation. ROUND==1 means truncation toward zero (the pixel value
is always larger than 0); ROUND==0 means rounding-off addition.

28

R/W
12

R/W

27

26
25
HECBIT
R/W R/W R/W
11
10
9
YLIMIT
R/W R/W R/W

24

R/W
8

R/W

23
-

22
-

21
-

20
-

7
R/W

6
R/W

5
R/W

4
R/W

19

18
17
MBLENGTH
R/W R/W R/W
3
2
1
XLIMIT
R/W R/W R/W

16
R/W
0
R/W

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.
XLIMIT Macroblock count in X direction of a frame.
479/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
YLIMIT Macroblock count in Y direction of a frame.
MBLENGTH
Bit count of Macroblock Number in Video Packet Header. It is a value defined by the following formula:
MBCNT = (XLIMIT+15)/16 * (YLIMIT+15)/16. For larger MBCNT, we have larger MBLENGTH.
MBLENGTH is ranged from 1 to 14.
HECBIT
Bit count of header extension code in Video Packet Header; this section includes modulo_time_base,
vop_time_increment, vop_coding_type, intra_dc_vlc_thr and vop_fcode_forward(only in P-VOP).

31
-

30
-

29
-

28
-

27
-

15
-

14
-

13
-

12

11

R/W

26
-

25
-

10
9
VP_YPOS
R/W R/W R/W

24

23

22

R/W
8

R/W
7
-

R/W
6
-

21

fo
r

Bit
Name
Type
Bit
Name
Type

MP4_DEC_VOP
_STRUCT2

Decoder VOP Structure 2 Register

20
19
18
17
MBNO
R/W R/W R/W R/W R/W
5
4
3
2
1
VP_XPOS
R/W R/W R/W R/W

Re
lea
se

MP4+0248h

R/W

16
R/W
0
R/W

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.
VP_XPOS Starting position of the current Video Packet in X coordinate.
VP_YPOS Starting position of the current Video Packet in Y coordinate.
MBNO
Macroblock count limit for a video packet or frame. For a CIF frame the value will be 396.

Bit
Name
Type
Bit

31
-

30
-

15

14

Decoder MB Structure 0 Register
29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

11

10

9

8

7

6

5

4

3

R/W

R/W

R/W

Co
nf
id
en
tia
l

MP4+024Ch

13
12
DCVL
Name QUANTIZER
AC
C
Type R/W R/W R/W R/W

DQUANT

R/W

R/W

PATTERN

R/W

R/W

R/W

R/W

MP4_DEC_MB_
STRUCT0
18
17
16
QUANTIZER
R/W R/W R/W
2
1
0
CODE
TYPE
D
R/W R/W R/W

MT
K

This register is used to store the header information of the current macroblock. This register is mostly used for debugging.
Also used to provide hardware certain header information if all header parsing is done by software instead of hardware.
CODED
not_coded flag of current macroblock; not_coded can be decoded by hardware from macroblock header.
TYPE
mb_coding_type of current macroblock; mb_coding_type can be decoded by hardware from mcbpc in
macroblck header.
PATTERN pattern_code of current macroblock; pattern_code can be decoded by hardware from cbpc and cbpy in
macroblock header.
DQUANT dquant. It can be –2, -1, +1 or +2; total 4 possible choices using 2 bits to represent; dquant can be decoded by
hardware from macroblock header.
AC
ac_pred_flag. It decides whether AC prediction is needed; always 0 in encoder; ac_pred_flag can be decoded
by hardware from macroblock header.
DCVLC
use_intra_dc_vlc. If this bit is 0, intra AC VLC decode is used (no intra DC exists in current macroblock).
QUANTIZER quantizer_scale, ranged from 1 to 31. It can be variable if we have dquant values.

480/616

MediaTek Inc. Confidential

6.17.2.3.3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
VLC DMA

.

Bit
31
Name
Type R/W
Bit
15
Name
Type R/W

MP4_DEC_VLC_
BASE_ADDR

Decoder VLC DMA Base Address Register
30

29

28

27

26

R/W
14

R/W
13

R/W
12

R/W
11

R/W
10

R/W

R/W

R/W

R/W

R/W

25

24
23
BASE
R/W R/W R/W
9
8
7
BASE
R/W R/W R/W

22

21

20

19

18

17

16

R/W
6

R/W
5

R/W
4

R/W
3

R/W
2

R/W

R/W

R/W
1
-

R/W
0
-

R/W

R/W

R/W

fo
r

MP4+0260h

BASE VLC DMA Base Address

MP4+0264h
Bit
Name
Type
Bit
Name
Type

Re
lea
se

This register is used to describe the address of started Code Word for each VLC DMA buffer. Note that this base address
should be 4-byte aligned.

Decoder VLC DMA Base Bit Count Register

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15
-

14
-

13
-

12
-

11
-

10
-

9
-

8
-

MP4_DEC_VLC_
BASE_BITCNT

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

7
-

6
-

5
-

4

3

1

0

R/W

R/W

2
BIT
R/W

R/W

R/W

Co
nf
id
en
tia
l

This register is used to describe the starting bit position of the 1st Code Word in the 1st VLC DMA buffer. For the following
VLC DMA buffers, it is assumed that they are all 4-byte aligned and always start from bit position “0”.
Start of Bit at the 1st Code Word of 1st DMA Buffer

BIT

MP4+0268h
Bit
31
Name
Type
Reset
0
Bit
15
Name
Type R/W
Reset
1

MP4_DEC_VLC_
LIMIT

Decoder VLC DMA Buffer Limit Register
30
0
14

R/W
1

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

0
13

0
12

0
11

0
10

0
9

0
8

0
7

0
6

0
5

0
4

0
3

0
2

0
1

0
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

LIMIT
R/W R/W
1
1

This register is used to describe the buffer size of each VLC DMA buffer. Note that the value is counted in word (32-bit).
Whenever the limit is reached and the corresponding interrupt control is enabled, an interrupt request will be generated.

MT
K

LIMIT DMA Buffer Size, Count in Word (32-bit)

MP4+026Ch
Bit
Name

31

30

MP4_DEC_VLC_
WORD

Decoder VLC DMA Current Word Register
29

28

27

26

25

24
23
ADDR

481/616

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Type RO
Bit
15
Name ADDR
Type RO

RO
14

RO
13

RO
12

RO
11

RO
10

RO
9

RO
8

RO
7

RO
6

RO
5

RO
4

RO
3

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

RO

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
RO
2

RO
1

RO
0

RO

RO

RO

This register provides the address information of a certain code word that is under process of video CODEC. SW reads it
back after decode of a frame is done.

MP4+0270h

MP4_DEC_VLC_
BITCNT

Decoder VLC DMA Current Bit Count Register

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

17
-

16
-

15
-

14
-

13
-

12
-

11
-

10
-

9
-

8
-

7
-

6
-

5
-

4

3

2
1
BITCNT
RO
RO
RO

0

Re
lea
se

Bit
Name
Type
Bit
Name
Type

fo
r

ADDR VLC DMA current Address

RO

18
-

RO

This register provides the bit position information of a certain Code Word that is under process of video CODEC.
Current Bit Count

Decoder VLC DMA Ring Buffer Ending Address
Register

MP4+0274h
Bit
31
Name
Type R/W
1
Reset
Bit
15
Name
Type R/W
Reset
1

30

29

28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

25
24
23
22
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1

Co
nf
id
en
tia
l

BITCNT

MP4_DEC_VLC_
JUMP_FROM_A
DDR

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

JUMP_FROM_ADDR
The ending address of the current DMA buffer; when a jump takes place in VLC DMA
address counter, the address will jump from the ending address of the current DMA buffer, which is
JUMP_FROM_ADDR, to the starting address of the next DMA buffer, which is JUMP_TO_ADDR.
To disable the ring buffer feature, set this register to all ones; note that the address counter will not
jump until done with the content in memory with address as JUMP_FROM_ADDR. So the memory
content with address JUMP_FROM_ADDR will be executed by hardware.

MP4+0278h
30

29

MT
K

Bit
31
Name
Type R/W
Reset
1
Bit
15
Name
Type R/W

MP4_DEC_VLC_
JUMP_TO_ADD
R

Decoder VLC DMA Ring Buffer Starting Address
Register
28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W

R/W

R/W

R/W

R/W

25

24
23
22
JUMP_TO_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_TO_ADDR
R/W R/W R/W R/W
482/616

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W

R/W

R/W

R/W

R/W

R/W

MediaTek Inc. Confidential

Reset

1

1

1

1

1

1

1

1

1

1

1

1

1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
1

1

1

JUMP_TO_ADDR The starting address of the next DMA buffer; when a jump takes place in VLC DMA address
counter, the address will jump from the ending address of the current DMA buffer, which is JUMP_FROM_ADDR, to the
starting address of the next DMA buffer, which is JUMP_TO_ADDR; note that the address counter will not jump until done
with the content in memory with address as JUMP_FROM_ADDR. So the memory content with address
JUMP_FROM_ADDR will be executed by hardware.

MP4+0300h
Bit
Name
Type
Reset
Bit

31
-

fo
r

Core

MP4_CORE_CO
NF

Core Configuration Register
30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
R/W
0
7

22
R/W
0
6

21
R/W
0
5

20
R/W
0
4

19
R/W
0
3

18
R/W
0
2

17
R/W
0
1

16
R/W
0
0

VPGO
DCT
B

IRQ

ENC

R/W
0

R/W
0

Re
lea
se

6.17.2.4

0
0
0
0
0
0
0
0
15
14
13
12
11
10
9
8
DEBL
MC_B
COPY
DQUA
Name OCKI
URST PMV
FME HALF
_REC
N
_EN
NG
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0
0
0

STEP_LIMIT
R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

This register is used to configure the operating conditions and modes of video CODEC.
ENC

MT
K

Co
nf
id
en
tia
l

Video CODEC Operation Mode
0 Decode Mode
1 Encode Mode
IRQ
Control for interrupt request
0 Disable the interrupt reporting mechanism
1 Enable the interrupt reporting mechanism
DCT
DCT Control
0 Enable JPEG CODEC Operation
1 Enable MPEG-4 CODEC Operation
VPGOB Control for decoding Video Packet Header.
0 Disable: decoding in Video Packet Level. It means the software will take the responsibility for decoding
packet header of each video packet.
1 Enable: decoding in Video Object Plane Level
STEP_LIMIT Step limit for Motion Estimation. The total number of steps in a n-step search is STEP_LIMIT+2.
Increasing STEP_LIMIT can increase search range of motion vectors.
HALF Motion Estimation uses half-pel resolution
0 Disable. Perform full pel motion estimation only
1 Enable. Perform full pel motion estimation first, then half pel motion estimation
FME Fast Motion Enhancement
0 Enable Four Step Search motion estimation algorithm
1 Enable Mediatek proprietary motion estimation algorithm. This algorithm can improve visual quality in fast
motion pictures while maintaining the same quality as Four Step Search in slow motion pictures. Enabling this
algorithm does not increase search time. Thus, set FME to 1 is recommended.
483/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4+0304h
Bit
31
Name
Type
Reset
Bit
15
Name
Type R/W
Reset
0

Co
nf
id
en
tia
l

Re
lea
se

fo
r

DQUAN
Control for automatic update quantizer_scale process.
0 Disable
1 Enable
PMV Predictive Motion Vector Search. This is a two pass search algorithm. This algorithm can co-operate with both four
step search (FME=0) and Mediatek proprietary search (FME=1). The idea is to initially consider several highly
likely predictors (starting points), perform motion estimation from these predictors, and choose the best result
among these predictors. In our approach, the two predictors approach is adopted. The origin (0,0) is considered as
the predictor of first pass. The minimum BDM point found in first pass will be the predictor of the second pass.
After finishing two-pass motion estimation, choose the best result between the two minimum BDM points. This
algorithm can significantly improve PSNR by about 0.8dB. However, the search time will increase by about 60%.
Setting PMV to 1 or 0 is the trade-off between visual quality and search time.
0 Disable
1 Enable
MC_BURST_EN
2-beat Burst mode enable signal in MC.
0 Diable
1 Enable
COPY_REC
Enable signal to copy reconstructed memory to deblocking memory.
0 Disable
1 Enable
DEBLOCK Enable signal for deblocking mode. Please remember to configure Deblocking Base Address Register when
DEBLOCK mode is enable.
3 different combination of DEBLOCK and COPY_REC are shown below
00 (DECLOCK = 0 & COPY_REC = 0) : disable both deblocking filter and memory copy from reconstructed
memory to deblocking memory.
01 (DECLOCK = 0 & COPY_REC = 1) : disable both deblocking filter and memory copy from reconstructed
memory to deblocking memory.
10 (DECLOCK = 1 & COPY_REC = 0) : Enable deblocking filter and save deblocked frame to deblocking
memory.
11 (DECLOCK = 1 & COPY_REC = 1) : Disable deblocking filter and save non-deblocked frame to deblocking
memory.

MP4_CORE_EN
C_CONF

Core Encoder Configuration Register
30
-

14
R/W
0

29
-

28
-

13

12

R/W
0

R/W
0

27
-

26

R/W
0
11
10
INTRA
R/W R/W
0
0

25

24

23

R/W
0
9

R/W
0
8

R/W
0

R/W
0

R/W
0
7
-

22
21
PACKCNT
R/W R/W
0
0
6
5
R/W
0

20
R/W
0
4
R/W
0

19

18

R/W R/W
0
0
3
2
SKIP
R/W R/W
0
0

17

16
PACK
R/W R/W
0
0
1
0
R/W
0

R/W
0

MT
K

This register is used specially to configure the desired encode conditions and modes for video CODEC.
SKIP

Threshold for deciding not_coded bit. The value of SKIP is programmed by software first. The first round of
pattern code (me_pattern_code is set to 6’h0 whenever (SADy + SDAu + SADv) <= skip_threshold*16
not_coded bit will be set if pattern_code = 6’h0 and motion vector = (0,0)
484/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Bit
Name
Type
Bit
Name
Type

MP4_DUPLEX_S
TS

Half Duplex Controller Status Register

31

30

29

28

27

26

15

14

13

12

11

10

RO

RO

RO

RO

RO

RO

25

24

23

22

RO
RO
8
7
6
DUPLEX_STATE
RO
RO
RO
RO

21

20
19
18
DUPLEX_STATE
RO
RO
RO
RO
5
4
3
2

17

16

RO
1

RO
0

RO

RO

RO

Re
lea
se

MP4+0308h

fo
r

INTRA Threshold for deciding INTRA Coding in P frame. The value of INTRA is programmed by software first. The
3-bits macro-block type (mb_type) is set to 3’h0 (Inter MB) if SADy < intra_threshold*1024. Otherwise, mb_type
is set to 3’h3 (Intra_MB)
PACK Use Video Packet Mode
0 Disable
1 Enable
PACKCNT Desired Bit Counts for a Video Packet. Used in encode mode to define the largest VLE buffer size of a video
packet

9

RO

RO

RO

This register is used to read back the current state of duplex controller in MPEG4 Codec.
DUPLEX_STATE

Base Addresses

MP4+0310h
Bit
31
Name
Type R/W
Bit
15
Name
Type

Core MSB Base Address Register
30

R/W
14
-

Co
nf
id
en
tia
l

6.17.2.4.1

Current state of duplex controller.

29

28

27

R/W
13
-

R/W
12
-

R/W
11
-

26
25
CODEC
R/W R/W
10
9
-

24

23

22

21

20

R/W
8
-

R/W
7
-

R/W
6
-

R/W
5
-

R/W
4
-

19
R/W
3
-

MP4_CORE_BA
SE
18
R/W
2
-

17
-

16
-

1
-

0
-

This register describes the MSB address that is used for VLE Data Load-Store and DC/AC Prediction Storage buffers. FOR
THE FOLLOWING HW-USED OFFSET ADDRESSES, their MSB’s must be confined within 1Mega. In other words,
results of (base address + offset addresses) should have the same value in bit range [31, 20].
CODEC

MPEG-4/H.263 CODEC MSB Base Address

MP4+0314h
30
RO
14

29

28

27

26

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

MT
K

Bit
31
Name
Type RO
Bit
15
Name
Type R/W

MP4_CORE_VO
P_ADDR

Current VOP Base Address Register

R/W

R/W

25

24
23
VOP
RO
RO
RO
9
8
7
VOP
R/W R/W R/W

485/616

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This register describes the starting address of Current VOP Frame that is going to be encoded. Note that this base address
should be 4-byte aligned. And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420
format).
Current VOP Base Address.

Bit
31
Name
Type RO
Bit
15
Name
Type R/W

MP4_CORE_RE
F_ADDR

Core Reference VOP Base Address Register
30

29

28

27

26

RO
14

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

R/W

R/W

25

24

23
REF
RO
RO
RO
9
8
7
REF
R/W R/W R/W

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

fo
r

MP4+0318h

Re
lea
se

VOP

This register describes the starting address of Reference VOP Frame. Note that this base address should be 4-byte aligned.
And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
Reference VOP Base Address.

MP4+031Ch
Bit
31
Name
Type RO
Bit
15
Name
Type R/W

Core Reconstructed VOP Base Address Register

30

29

28

27

26

RO
14

RO
13

RO
12

RO
11

RO
10

R/W

R/W

R/W

R/W

R/W

25

24

23
REC
RO
RO
RO
9
8
7
REC
R/W R/W R/W

Co
nf
id
en
tia
l

REF

MP4_CORE_RE
C_ADDR

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the starting address of Reconstructed VOP Frame. Note that this base address should be 4-byte
aligned. And the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
REC

Reconstructed VOP Base Address.

MP4+0320h
Bit
31
Name
Type RO
Bit
15
Name
Type R/W

MP4_CORE_DE
BLOCK_ADDR

Core Deblocking Base Address Register
30

RO
14
R/W

29

28

27

RO
13

RO
12

RO
11

R/W

R/W

R/W

26

25

24
23
22
DEBLOCK_ADDR
RO
RO
RO
RO
RO
10
9
8
7
6
DEBLOCK_ADDR
R/W R/W R/W R/W R/W

21

20

19

18

17

16

RO
5

RO
4

RO
3

RO
2

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the starting address of deblocking frame. Note that this base address should be 4-byte aligned. And
the required frame buffer size should be: numbers of pixel per frame * 1.5 bytes (YUV420 format).
Deblocking Base Address.

MT
K

DEBLOCK_ADDR

486/616

MediaTek Inc. Confidential

MP4_CORE_DA
Core VLE Data Load-Store LSB Base Address Register TA_STORE_AD
DR
30

29

28

27

26

14

13

12

11

10

R/W

R/W

R/W

R/W

R/W

25

24
23
STORE

9
8
STORE
R/W R/W

22

21

20

19

7

6

5

4

3

R/W

R/W

R/W

R/W

18

17

16

2

R/W
1
-

R/W
0
-

fo
r

MP4+0324h
Bit
31
Name
Type
Bit
15
Name
Type R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

R/W

R/W

Re
lea
se

This register describes the LSB address of VLE Data Load-Store buffer in data-partitioned mode. Note that this base
address should be 4-byte aligned. And the required buffer size for encoder and decoder should be: 3K bytes and number of
macroblock per frame * 32 bytes, respectively.
STORE LSB address of VLE Data Load-Store buffer

Core DC/AC Prediction Storage LSB Base Address
Register

MP4+0328h
Bit
31
Name
Type
Bit
15
Name
Type R/W

30

29

28

27

26

14

13

12

11

10

R/W

R/W

R/W

R/W

R/W

25

24
23
DACP

9
8
DACP
R/W R/W

MP4_CORE_DA
CP_ADDR

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

Co
nf
id
en
tia
l

This register describes the LSB address of DC/AC Prediction Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder and decoder should be: 512 bytes and 2K bytes, respectively.
DACP LSB address of DC/AC Prediction Storage buffer

Core Motion Vector Storage LSB Base Address
Register

MP4+032Ch
Bit
31
Name
Type
Bit
15
Name
Type R/W

30
14
R/W

29

28

27

26

13

12

11

10

R/W

R/W

R/W

R/W

25

24
23
MVD_ADDR

9
8
MVD_ADDR
R/W R/W

MP4_CORE_MV
P_ADDR

22

21

20

19

18

17

16

7

6

5

4

3

2

R/W

R/W

R/W

R/W

R/W

R/W

R/W
1
-

R/W
0
-

This register describes the LSB address of Motion Vector Storage buffer. Note that this base address should be 4-byte
aligned. And the required buffer size for encoder should be mb_x_limit * 2 * 4 bytes, which equals to 320 Bytes for VGA
size.
LSB address of Motion Vector Storage buffer

6.17.2.4.2

Data Structure

MT
K

MVD_ADDR

MP4+0330h
Bit

31

MP4_CORE_VO
P_STRUCT0

Core VOP Structure 0 Register

30

29

28

27

26

25

24

487/616

23

22

21

20

19

18

17

16

MediaTek Inc. Confidential

Name

-

-

-

-

-

-

-

-

-

-

-

Type
Bit

15

14

13

12

11

10

9

8

7

6

5

R/W

R/W

Name
Type

VLCTHR
R/W

R/W

QUANT
R/W

R/W

R/W

R/W

-

-

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
-

ROUN
D
R/W
0

4
3
2
1
SHOR
FCODE
RVLC DATA TYPE
T
R/W R/W R/W R/W R/W R/W R/W R/W

fo
r

This register is used to describe the header information of a certain Video Object Plane that is going to be processed by
video CODEC.

MP4+0334h
Bit
31
Name
Type
Bit
15
Name
Type R/W

Co
nf
id
en
tia
l

Re
lea
se

TYPE vop_coding_type definition, for both decode and encode.
0 This is a P-VOP frame (inter frame)
1 This is an I-VOP frame (intra frame)
DATA data_partitioned, for decode only.
0 Data stream is in non-data-partitioned mode
1 Data stream is in data-partitioned mode
RVLC resversible_vlc, for decode only.
0 Data stream contains no reversible VLC information
1 Data stream uses reversible VLC tables.
SHORT short_video_header; for both decode and encode
0 Normal MPEG-4 format
1 H.263 Compatible format
FCODE fcode size setting for both decode and encode, ranges from 0 to 7.
QUANT vop_quant. For both decode and encode. Quantizer scale of the current frame. For variable Q in decode mode,
QUANT is an initial setting of the current frame.
VLCTHR intra_dc_vlc_thr. For decode only. According to VLCTHR, the decoder has to switch from intra DC mode to
inter DC mode when the quantizer_scale is larger than a pre-defined value. VLCTHR ranges from 0 to 7.
ROUND
Rounding type of half-pel motion compensation. ROUND==1 means truncation toward zero (the pixel value
is always larger than 0); ROUND==0 means rounding-off addition.

MP4_CORE_VO
P_STRUCT1

Core VOP Structure 1 Register
30
-

14
R/W

29
-

13
R/W

28

R/W
12

R/W

27

26
25
HECBIT
R/W R/W R/W
11
10
9
YLIMIT
R/W R/W R/W

24

R/W
8

R/W

23
-

22
-

21
-

20
-

7
R/W

6
R/W

5
R/W

4
R/W

19

18
17
MBLENGTH
R/W R/W R/W
3
2
1
XLIMIT
R/W R/W R/W

16
R/W
0
R/W

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.

MT
K

XLIMIT Macroblock count in X direction of a frame.
YLIMIT Macroblock count in Y direction of a frame.
MBLENGTH
Bit count of Macroblock Number in Video Packet Header. It is a value defined by the following formula:
MBCNT = (XLIMIT+15)/16 * (YLIMIT+15)/16. For larger MBCNT, we have larger MBLENGTH.
MBLENGTH is ranged from 1 to 14.
HECBIT
Bit count of extension header code in Video Packet Header
488/616

MediaTek Inc. Confidential

MP4+0338h

MP4_CORE_VO
P_STRUCT2

Core VOP Structure 2 Register

31
-

30
-

29
-

28
-

27
-

15
-

14
-

13
-

12

11

R/W

26
-

25
-

10
9
VP_YPOS
R/W R/W R/W

24

23

22

R/W
8

R/W
7
-

R/W
6
-

R/W

21

20
19
18
17
MBNO
R/W R/W R/W R/W R/W
5
4
3
2
1
VP_XPOS
R/W R/W R/W R/W

16

R/W
0

R/W

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

This register is used by software program to control the start position and count limit of macroblock for a certain Video
Packet or Video Object Plane that is going to be processed by video CODEC.

MP4+033Ch
Bit
Name
Type
Bit
Name
Type

Re
lea
se

VP_XPOS Starting position of current Video Packet in X coordinate that the SW wants to update.
VP_YPOS Starting position of current Video Packet in Y coordinate that the SW wants to update.
MBNO
Macroblock count limit for a video packet or frame. For a CIF frame the value will be 396.

Core VOP Structure 3 Register

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24

15
-

14
-

13
-

12

11

9

RO
8

RO

RO

10
YPOS
RO

RO

RO

23

22

RO
7
-

RO
6
-

21

20
MBNO
RO
RO
5
4
RO

MP4_CORE_VO
P_STRUCT3

19

18

17

16

RO
3

RO
2
XPOS
RO

RO
1

RO
0

RO

RO

RO

Co
nf
id
en
tia
l

This register provides the position and count information of a certain macroblock that is currently under process of video
CODEC.
XPOS Current Macroblock Position in X coordinate
YPOS Current Macroblock Position in Y coordinate
MBNO Current Macroblock Count

MP4+0340h
Bit
Name
Type
Bit

MP4_CORE_MB
_STRUCT0

Core MB Structure 0 Register

31
-

30
-

15

14

29
-

28
-

13
12
DCVL
Name QUANTIZER
AC
C
Type R/W R/W R/W R/W

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

11

10

9

8

7

6

5

4

3

R/W

R/W

R/W

DQUANT

R/W

R/W

PATTERN

R/W

R/W

R/W

R/W

18
17
16
QUANTIZER
R/W R/W R/W
2
1
0
CODE
TYPE
D
R/W R/W R/W

MT
K

This register is used to store the header information of current macroblock. This register is mostly used for debugging. Also
used to provide hardware certain header information if all header parsing is done by software instead of hardware.
CODED
not_coded flag of current macroblock; not_coded can be decoded by hardware from macroblock header.
TYPE
mb_coding_type of current macroblock; mb_coding_type can be decoded by hardware from mcbpc in
macroblck header.
PATTERN pattern_code of current macroblock; pattern_code can be decoded by hardware from cbpc and cbpy in
macroblock header.

489/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
DQUANT

dquant. It can be –2, -1, +1 or +2; total 4 possible choices using 2 bits to represent; dquant can be decoded by
hardware from macroblock header.
AC
ac_pred_flag. It decides whether AC prediction is needed; always 0 in encoder; ac_pred_flag can be decoded
by hardware from macroblock header.
DCVLC
use_intra_dc_vlc. If this bit is 0, intra AC VLC decode is used (no intra DC exists in current macroblock).
QUANTIZER quantizer_scale, ranged from 1 to 31. It can be variable if we have dquant values.

31
-

30
-

29
-

28
-

15
-

14
-

13
-

12
-

27

26

25

24

23

R/W
11

R/W
10

R/W
9

R/W
8

R/W
7

R/W

R/W

R/W

R/W

22
21
DC[1]
R/W R/W
6
5
DC[0]
R/W R/W

fo
r

Bit
Name
Type
Bit
Name
Type

MP4_CORE_MB
_STRUCT1

Core MB Structure 1 Register

20

19

18

17

16

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

Re
lea
se

MP4+0344h

R/W

R/W

R/W

This register is used to store the DC value set 0 and 1 of current macroblock.
DC[0] DC Value for Luminance Block 0
DC[1] DC Value for Luminance Block 1

MP4+0348h
31
-

30
-

29
-

28
-

15
-

14
-

13
-

12
-

27

26

25

24

23

R/W
11

R/W
10

R/W
9

R/W
8

R/W
7

R/W

R/W

R/W

R/W

R/W

Co
nf
id
en
tia
l

Bit
Name
Type
Bit
Name
Type

Core MB Structure 2 Register

22
21
DC[3]
R/W R/W
6
5
DC[2]
R/W R/W

MP4_CORE_MB
_STRUCT2

20

19

18

17

16

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

R/W

R/W

This register is used to store the DC value set 2 and 3 of current macroblock. For debug purpose or SW encode/decode
procedure.
DC[2] DC Value for Luminance Block 2
DC[3] DC Value for Luminance Block 3

MP4+034Ch
Bit
Name
Type
Bit
Name
Type

31
-

30
-

15
-

14
-

MP4_CORE_MB
_STRUCT3

Core MB Structure 3 Register
29
-

28
-

13
-

12
-

27

26

25

24

23

R/W
11

R/W
10

R/W
9

R/W
8

R/W
7

R/W

R/W

R/W

R/W

R/W

22
21
DC[5]
R/W R/W
6
5
DC[4]
R/W R/W

20

19

18

17

16

R/W
4

R/W
3

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

R/W

R/W

MT
K

This register is used to store the DC value set 4 and 5 of current macroblock. For debug purpose or SW encode/decode
procedure.
DC[4] DC Value for Chrominance Block 4
DC[5] DC Value for Chrominance Block 5

490/616

MediaTek Inc. Confidential

MP4+0350h

MP4_CORE_MB
_STRUCT4

Core MB Structure 4 Register

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15
-

14
-

13
-

12
-

11
-

10
-

9
-

8
-

23

22

21

R/W
7

R/W
6

R/W
5

R/W

R/W

R/W

20
19
MVY[0]
R/W R/W
4
3
MVX[0]
R/W R/W

18

17

16

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

This register is used to store the motion vector set 0 of current macroblock. For debug purpose or SW encode/decode
procedure.

MP4+0354h
Bit
Name
Type
Bit
Name
Type

Core MB Structure 5 Register

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15
-

14
-

13
-

12
-

11
-

10
-

9
-

8
-

Re
lea
se

MVX[0] X Component of Motion Vector Set 0
MVY[0] Y Component of Motion Vector Set 0

23

22

21

R/W
7

R/W
6

R/W
5

R/W

R/W

R/W

20
19
MVY[1]
R/W R/W
4
3
MVX[1]
R/W R/W

MP4_CORE_MB
_STRUCT5
18

17

16

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

This register is used to store the motion vector set 1 of current macroblock. For debug purpose or SW encode/decode
procedure.

MP4+0358h
Bit
Name
Type
Bit
Name
Type

Co
nf
id
en
tia
l

MVX[1] X Component of Motion Vector Set 1
MVY[1] Y Component of Motion Vector Set 1

MP4_CORE_MB
_STRUCT6

Core MB Structure 6 Register

31
-

30
-

15
-

14
-

29
-

28
-

27
-

26
-

25
-

24
-

13
-

12
-

11
-

10
-

9
-

8
-

23

22

21

R/W
7

R/W
6

R/W
5

R/W

R/W

R/W

20
19
MVY[2]
R/W R/W
4
3
MVX[2]
R/W R/W

18

17

16

R/W
2

R/W
1

R/W
0

R/W

R/W

R/W

This register is used to store the motion vector set 2 of current macroblock. For debug purpose or SW encode/decode
procedure.
MVX[2] X Component of Motion Vector Set 2
MVY[2] Y Component of Motion Vector Set 2

Bit
Name
Type
Bit

MP4_CORE_MB
_STRUCT7

Core MB Structure 7 Register

MT
K

MP4+035Ch
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15

14

13

12

11

10

9

8

491/616

23

22

21

R/W
7

R/W
6

R/W
5

20
19
MVY[3]
R/W R/W
4
3

18

17

16

R/W
2

R/W
1

R/W
0

MediaTek Inc. Confidential

Name
Type

-

-

-

-

-

-

-

-

R/W

R/W

R/W

MVX[3]
R/W R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

R/W

R/W

R/W

This register is used to store the motion vector set 3 of current macroblock. For debug purpose or SW encode/decode
procedure.
MVX[3] X Component of Motion Vector Set 3
MVY[3] Y Component of Motion Vector Set 3

MP4+0370h

MP4_CORE_VL
C_DMA_STS

Core VLC DMA Status Register

Bit
Name
Type
Bit

31

30

RO
15

RO
14

Name

-

-

Type

fo
r

VLC DMA

29

28

27

26

25

RO
RO
RO
RO
RO
13
12
11
10
9
GLCO GDRD
EMPT
FULL
VLD
MD
Y
Y
RO
RO
RO
RO
RO

24
23
GADDR_LSB
RO
RO
8
7

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

RO
1

RO
0

RO

RO

Re
lea
se

6.17.2.5

VLE PACK GREQ
RO

RO

RO

STATE

RO

RO

RO

RO

This register provides software program the information of current status of VLD DMA.

MT
K

Co
nf
id
en
tia
l

STATE State of VLC DMA Engine.
GREQ request for data read/write.
0 No request.
1 Request for data read/write.
PACK VLE Buffer Maximum Size Meet.
VLE
VLE Stream Ready
0 VLE is not ready
1 VLE is ready
VLD
VLD Stream Ready
0 VLD is not ready
1 VLD is ready
EMPTY FIFO Empty
0 VLC DMA FIFO is not empty
1 VLC DMA FIFO is empty
FULL FIFO Full
0 VLC DMA FIFO is not full
1 VLC DMA FIFO is full
GDRDY
Waiting for gdrdy, a signal from GMC, to return.
0 gdrdy has been received.
1 Waiting for gdrdy to return.
GLCOMD Waitinf for glcomd, a signal from GMC, to return.
0 glcomd has been received.
1 Waiting for glcomd to return.
GADDR_LSB Lower 16 bit value of gaddr, a signal to GMC.

492/616

MediaTek Inc. Confidential

MP4+0374h

MP4_CORE_VL
E_STS

Core VLE Status Register

31

30

29

28

27

26

25

24

23

22

21

20

19

RO
15

RO
14

RO
12

RO
11

RO
10

RO
5

RO
4

RO

RO

RO

RO

RO
RO
RO
9
8
7
RELOAD_CNT
RO
RO
RO

RO
6

RO

RO
13
GREQ
RO

RO

RO

RO

RO
3
DONE
RO

This register shows the status of MPEG4 VLE block and is used for hardware debugging.

MP4+0378h
Bit
Name
Type
Bit
Name
Type

Re
lea
se

STATE VLE State
DONE DC/AC coefficient reload done.
RELOAD_CNT DC/AC coefficient reload count.
GREQ VLE request to GMC.

Core VLC DMA Base Address Register

31

30

29

28

27

26

WO
15

WO
14

WO
13

WO
12

WO
11

WO
10

WO

WO

WO

WO

WO

WO

25

24
23
BASE
WO
WO
WO
9
8
7
BASE
WO
WO
WO

18

17

16

RO
2

RO
RO
1
0
STATE
RO
RO
RO

fo
r

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

MP4_CORE_VL
C_BASE_ADDR

22

21

20

19

18

17

16

WO
6

WO
5

WO
4

WO
3

WO
2

WO

WO

WO

WO

WO

WO
1
-

WO
0
-

Co
nf
id
en
tia
l

This register is used to describe the address of started Code Word for each VLC DMA buffer. Note that this base address
should be 4-byte aligned.
BASE VLC DMA Base Address

MP4+037Ch
Bit
Name
Type
Bit
Name
Type

MP4_CORE_VL
C_BASE_BITCN
T

Core VLC DMA Base Bit Count Register

31
-

30
-

15
-

14
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

13
-

12
-

11
-

10
-

9
-

8
-

7
-

6
-

5
-

4

3

1

0

WO

WO

2
BIT
WO

WO

WO

This register is used to describe the starting bit position of the 1st Code Word in the 1st VLC DMA buffer. For the following
VLC DMA buffers, it is assumed that they are all 4-byte aligned and always start from bit position “0”.
Start of Bit at the 1st Code Word of 1st DMA Buffer

BIT

Bit
Name
Type
Reset

MP4_CORE_VL
C_LIMIT

Core VLC DMA Buffer Limit Register

MT
K

MP4+0380h
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

18
-

17
-

16
-

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

493/616

MediaTek Inc. Confidential

Bit
15
Name
Type R/W
1
Reset

14

13

12

11

10

9

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

8

7
LIMIT
R/W R/W
1
1

6

5

4

3

R/W
1

R/W
1

R/W
1

R/W
1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
2

1

0

R/W
1

R/W
1

R/W
1

This register is used to describe the buffer size of each VLC DMA buffer. Note that the value is counted in word (32-bit).
Whenever the limit is reached and the corresponding interrupt control is enabled, an interrupt request will be generated.

Bit
Name
Type
Bit
Name
Type

MP4_CORE_VL
C_WORD

Core VLC DMA Current Word Register

31

30

29

28

27

26

RO
15

RO
14

RO
13

RO
12

RO
11

RO
10

RO

RO

RO

RO

RO

RO

25

24
23
ADDR
RO
RO
RO
9
8
7
ADDR
RO
RO
RO

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

RO

RO

RO

RO

RO

RO
1
-

RO
0
-

Re
lea
se

MP4+0384h

fo
r

LIMIT DMA Buffer Size, Count in Word (32-bit)

This register provides the address information of a certain code word that is under process of video CODEC. SW reads it
back after encode of a frame is done.
ADDR VLC DMA current Address

Bit
Name
Type
Bit
Name
Type

Core VLC DMA Current Bit Count Register

31
-

30
-

15
-

14
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

Co
nf
id
en
tia
l

MP4+0388h

13
-

12
-

11
-

10
-

9
-

8
-

7
-

22
-

21
-

20
-

19
-

6
-

5
-

4

3

RO

MP4_CORE_VL
C_BITCNT
18
-

17
-

16
-

2
1
BITCNT
RO
RO
RO

0
RO

This register provides the bit position information of a certain Code Word that is under process of video CODEC.
BITCNT

Current Bit Count

MP4+038Ch
30

Core VLC DMA Ring Buffer Ending Address Register
29

28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

25
24
23
22
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_FROM_ADDR
R/W R/W R/W R/W
1
1
1
1

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

MT
K

Bit
31
Name
Type R/W
Reset
1
Bit
15
Name
Type R/W
Reset
1

MP4_CORE_VL
C_JUMP_FROM
_ADDR

JUMP_FROM_ADDR
The ending address of the current DMA buffer; when a jump takes place in VLC DMA
address counter, the address will jump from the ending address of the current DMA buffer, which is
JUMP_FROM_ADDR, to the starting address of the next DMA buffer, which is JUMP_TO_ADDR. To disable the

494/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
ring buffer feature, set this register to all ones; note that the address counter will not jump until done with the
content in memory with address as JUMP_FROM_ADDR. So the memory content with address
JUMP_FROM_ADDR will be executed by hardware.

30

29

28

27

26

R/W
1
14

R/W
1
13

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

25

24
23
22
JUMP_TO_ADDR
R/W R/W R/W R/W
1
1
1
1
9
8
7
6
JUMP_TO_ADDR
R/W R/W R/W R/W
1
1
1
1

21

20

19

18

17

16

R/W
1
5

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

fo
r

Bit
31
Name
Type R/W
Reset
1
Bit
15
Name
Type R/W
Reset
1

Core VLC DMA Ring Buffer Starting Address Register

Re
lea
se

MP4+0390h

MP4_CORE_VL
C_JUMP_TO_A
DDR

JUMP_TO_ADDR The starting address of the next DMA buffer; when a jump takes place in VLC DMA address
counter, the address will jump from the ending address of the current DMA buffer, which is JUMP_FROM_ADDR,
to the starting address of the next DMA buffer, which is JUMP_TO_ADDR; note that the address counter will not
jump until done with the content in memory with address as JUMP_FROM_ADDR. So the memory content with
address JUMP_FROM_ADDR will be executed by hardware.

Software Decode Mode

MP4+0400h

Software Decode Mode Command Register

Bit

31

30

Name

-

-

Type
Bit

15

14

Name

-

-

Type

Co
nf
id
en
tia
l

6.17.2.6

29

28

27

26

25

24

23

22

21

20

-

-

-

-

-

-

-

-

-

-

13

12

11

10

5

4

-

-

-

-

AC

CBPY

WO

WO

9
8
7
6
CODE MCBP QUAN
DCT
D
C
T
WO
WO
WO
WO

19

MP4_SVLD_CO
MD
18

17

16
STAR
STOP
T
WO
WO
3
2
1
0
DMAR MMAR FLUS
MV
K
K
H
WO
WO
WO
WO

MT
K

For SW decode mode, the following control bits must be sent to HW for block-based decoding. The sequencer (or header
parser) of HW does not decode the following information by itself.
FLUSH flush bits
MMARK
Motion Marker
DMARK
DC Marker
MV
Motion Vector
CBPY cbpy
AC
ac_pred_flag
DCT
dct_coefficient
QUANT dquant
MCBPC
mcbpc
CODED
not_coded
START Block Decode Start

495/616

MediaTek Inc. Confidential

STOP Block Decode Stop

MP4+0404h
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

15
-

14
-

13
-

12
-

11
-

10
-

9
-

8
-

7
-

6
-

5
-

4

3

R/W

Number of Bits should be flushed

MP4+0408h
31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

15

14

13

12

11

10

9

8

Name

-

-

-

-

-

-

-

-

Type

RESYN Resync Marker
MV
Motion Marker
DC
DC Marker

19
-

18
-

17
-

16
-

7

6

5

4

3

2

1

-

-

-

-

-

DC

MV

RO

RO

0
RESY
N
RO

15

14

RO

RO

RO
14

RO

RO

28

27

26

25

RO
13

RO
12

RO
11

RO
10

RO
9

RO

RO

RO

RO

RO

MP4_SVLD_MA
RK

20
-

30
-

RO
15

29

R/W

21
-

31
-

30

0

22
-

MP4_SVLD_CO
DE

Software Decode Mode VLD Code Word Register

31

16
-

23
-

Co
nf
id
en
tia
l

MP4+040Ch

17
-

2
1
BITCNT
R/W R/W R/W

Software Decode Mode Marker Indication Register

Bit
Name
Type
Bit

18
-

fo
r

BITCNT

Bit
Name
Type
Bit
Name
Type

MP4_SVLD_BIT
CNT

Software Decode Mode Bit Count Register

Re
lea
se

Bit
Name
Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

24
23
CODE
RO
RO
8
7
CODE
RO
RO

22

21

20

19

18

17

16

RO
6

RO
5

RO
4

RO
3

RO
2

RO
1

RO
0

RO

RO

RO

RO

RO

RO

RO

CODE Current Code Word in VLD Stream, MSB Aligned
6.17.2.6.1

Debug

MP4+0500h

29
-

28
-

27
-

26
-

13

12

11

RO

RO

RO

MT
K

Bit
Name
Type
Bit
Name
Type

Motion Estimation SAD for Y Component Register

MP4+0504h
Bit
Name

31
-

25

24

23

10

RO
9

RO

RO

RO
RO
8
7
SADY
RO
RO

MP4_SAD_Y

22

21
20
19
INTRA_MB_NUM
RO
RO
RO
RO
6
5
4
3

18

17

16

RO
2

RO
1

RO
0

RO

RO

RO

RO

RO

RO

RO

Motion Estimation SAD for U Component Register

30
-

29
-

28
-

27
-

26
-

25
-

24
-

496/616

23
-

22
-

21
-

20
-

MP4_SAD_U
19
-

18
-

17
-

16
-

MediaTek Inc. Confidential

15

14

13

12

11

10

9

RO

RO

RO

RO

RO

RO

RO

MP4+0508h
Bit
Name
Type
Bit
Name
Type

8
7
SADU
RO
RO

6

5

4

3

RO

RO

RO

RO

Motion Estimation SAD for V Component Register

2

1

0

RO

RO

RO

MP4_SAD_V

31
-

30
-

29
-

28
-

27
-

26
-

25
-

24
-

23
-

22
-

21
-

20
-

19
-

15

14

13

12

11

10

9

6

5

4

3

RO

RO

RO

RO

RO

RO

RO

8
7
SADV
RO
RO

RO

RO

RO

RO

18
-

17
-

16
-

2

1

0

RO

RO

RO

fo
r

Type
Bit
Name
Type

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

SADV

Re
lea
se

INTRA_MB_NUM
Total number of intra macro-block in a P frame. This register is valid after a P frame finishes
encoding. Software can decide whether to re-encode current P frame as I frame by examining this register.
SADY
SAD of luminance (Y) macroblock, for the purpose of debugging
SADU
SAD of chrominance (U) macroblock, for the purpose of debugging

SAD of chrominance (V) macroblock, for the purpose of debugging

6.17.2.6.2

Resync Marker

MP4+0600h

MPEG4 Core Resync Marker Configuration 0 Register

EN

28

27

26

R/W
1
12

R/W
1
11

R/W
1
10

R/W
1

R/W
1

R/W
1

25

24

23
22
21
PERIOD_BITS
R/W R/W R/W R/W R/W
1
1
1
1
1
9
8
7
6
5
PERIOD_BITS
R/W R/W R/W R/W R/W
1
1
1
1
1

Co
nf
id
en
tia
l

Bit
31
30
29
Name EN MODE
Type R/W R/W R/W
0
0
1
Reset
Bit
15
14
13
Name
Type R/W R/W R/W
Reset
1
1
1

MP4_CORE_RE
SYNC_CONF0

20

19

18

17

16

R/W
1
4

R/W
1
3

R/W
1
2

R/W
1
1

R/W
1
0

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

Resync marker insertion enable
0 Disable resync marker insertion
1 Enable resync marker insertion
MODE Resync Marker insertion mode selection
0 resync marker is inserted based on number of bits
1 resync marker is inserted based on number of macroblocks
PERIOD_BITS Period in number of bits to insert resync marker; only effective when MODE is set to 0; hardware will
insert resync marker at the next macroblock boundary once the bit length of a video packet exceeds this value.

MP4+0604h
30
R/W
0
14

29
R/W
0
13

MT
K

Bit
31
Name
Type R/W
Reset
0
Bit
15
Name

MPEG4 Core Resync Marker Configuration 1 Register
28
R/W
0
12

27
R/W
0
11

26
R/W
0
10

25
R/W
0
9

24
23
22
R/W R/W R/W
0
0
0
8
7
6
PERIOD_MB

497/616

21
R/W
0
5

20
R/W
0
4

19
R/W
0
3

MP4_CORE_RE
SYNC_CONF1
18
R/W
0
2

17
R/W
0
1

16
HEC
R/W
0
0

MediaTek Inc. Confidential

Type R/W
Reset
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

HEC

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
R/W
1

R/W
1

R/W
1

Bit
31
Name
Type R/W
Reset
0
Bit
15
Name
Type R/W
Reset
0

MPEG4 Core Local Time Base Register

30
R/W
0
14

29
R/W
0
13

28
R/W
0
12

27
R/W
0
11

26
R/W
0
10

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

25
24
23
22
21
20
MODULO_TIME_BASE
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
9
8
7
6
5
4
VOP_TIME_INCREMENT
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

MP4_CORE_TIM
E_BASE

19
R/W
0
3

17
BW
R/W R/W
0
0
2
1

R/W
0
0

R/W
0

R/W
0

R/W
0

Re
lea
se

MP4+060Ch

fo
r

Header Extension Code; indicates the value of header_extension_code in MPEG4 standard (ISO/IEC 14496-2)
0 header_extension_code is 0.
1 header_extension_code is 1.
PERIOD_MB Period in number of macroblocks (MB) to insert resync marker; only effective when MODE is set to 1;
hardware will insert resync marker at the next macroblock boundary once the number of macroblock in current
video packet exceeds this value.

18

R/W
0

16

MODULO_TIME_BASE Represent the value of modulo_time_base; value ranges from 0 to 31.
BW
Bit width of vop_time_increment. The real bit-width of vop_time_increment is (BW + 1), ranging from 1 to 16.
VOP_TIME_INCREMENT Carries the value of vop_time_increment defined in MPEG4 standard (ISO/IEC 14496-2); the
meaningful bit width of vop_time_increment is signaled by BW field.

TV Controller

6.18.1

Co
nf
id
en
tia
l

6.18

General Description

MT6228 supports NTSC/PAL interlaced TV format. The display function includes two components: a TV controller and a
TV encoder. The main functions of the TV controller are as follows:
1.

2.

Fetch the TV frame buffer.
•

In video playback mode, the source is from the video codec buffer in YUV420 format. In this mode, the TV
controller and MPEG4 decoder can also communicate to achieve the best performance.

•

In image playback mode, the source is in RGB565 format. In this mode, still images can be displayed. The
LCM controller can direct the image path to the TV controller. When the LCM controller sends frames to the
frame buffer as it does for the LCD display, the TV controller retrieves the frames for display.

Scale the frame size to fit the TV size. MT6228 adopts bilinear interpolation in both horizontal and vertical
dimension to scale up the frame. The user can adjust both the location and the size to achieve a suitable appearance.

MT
K

In NTSC mode, the ideal display area is 720(W) x 480(H), but the actual display area depends on the TV set. Some
boundary area may be invisible.In PAL mode, the ideal display area is 720(W) x 576(H); the actual display area also
depends on the TV set.

498/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
TV frame updates consume a lot of bandwidth. For interlaced system, one frame contains 2 fields. In NTSC mode, the
field update rate is 59.94 frames per second (fps); the field update rate in PAL mode is 50 fps. Performance is bound by
the size of the source image. The larger the image size, the higher the bandwidth required to support the TV display.
The controller supports an arbitrary image size up to 640 pixels in height and 480 pixels in width.
Figure 36 depicts the block diagram of the TV controller.

fo
r

APB bus

Video DMA

Re
lea
se

GMC bus

TV controller

Video scaler

TV encoder

YCbCr420 or
RGB565

YCbCr422

Figure 36 Block Diagram of the TV Encoder

Register Definitions

TVC+0000h
Bit
Name
Type
Reset

15

Co
nf
id
en
tia
l

6.18.2

10 bit
Video DAC

TVC enable register
14

13

The register is double buffer.

12

11

10

9

8

7

TVC_ENA
6

5

4

3

2

1
0
TSEN TVEN
R/W R/W
0
0

At the start of each frame, the enable bit is latched into the active buffer and takes effect.

TSEN TV control test signal enable.
0 Disable the test signal display.
1 Enable the test signal display.
TVEN TV controller enable.
0 Disable the TV frame update and display.
1 Enable the TV frame update and display.

TVC reset control register

MT
K

TVC+0004h
Bit
Name
Type
Reset

15

14

13

12

11

10

9

TVC_RST
8

499/616

7

6

5

4

3

2

1

0
RST
WO
0

MediaTek Inc. Confidential

The register is used to reset both the TV controller and the TV encoder.
RST
Reset control bit.

Bit
Name
Type
Reset
Bit

TVC control register

31

30

29

28

27

26

15

14

13

12

11

10

Name
Type
Reset

TVC_CON

25

24

9
8
AB_W AB_R
R
D
R/W R/W
0
0

23

22

7

6

21

20

19

18

5
4
3
2
BURS DPBU BLKO
NOIP
T
F
UT
R/W R/W R/W R/W
0
0
0
0

17

16

1

0
YUV_
M
R/W
0

fo
r

TVC+0008h

This control bit is write-only.

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

TVC+000Ch
31

15

TVC_YADR_SR
C

TVC Y data source address
30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type

Co
nf
id
en
tia
l

Re
lea
se

This register contains double buffer control, burst-mode control, buffer configuration, vertical interpolation control, and
color-space control.
AB_WR
Double buffer access control. Only five active buffers can be directly programmed through setting AB_WR:
TVC_YADR_SRC, TVC_SRCWIDTH, TVC_TARWIDTH, TVC_HCOEFX, TVC_HCOEFY.
0 Write write-buffer.
1 Write both write-buffer and active-buffer.
AB_RD Double buffer access control.
0 Read write-buffer.
1 Read active-buffer.
BURST Enable memory burst mode access. TVC supports 4-beat burst mode access to memory. Double buffer.
0 Disable burst mode access.
1 Enable burst mode access.
DPBUF Enable deeper buffer for better performance. Double buffer.
0 Disable deeper buffer.
1 Enable deeper buffer.
BLACKOUT
Fill the unfilled line buffer area with black pixels. Double buffer.
0 Do not fill with black pixels.
1 Fill with black pixels.
NOIP Bypass vertical interpolation. Enabling this bit reduces the average data access bandwidth by 2. Double buffer.
0 Enable vertical interpolation.
1 Bypass vertical interpolation.
YUV_M
Enable YUV mode. Double buffer.
0 RGB565 mode. For LCD dump buffer.
1 YUV420 mode. For MPEG buffer.

14

13

28

27

26

25

12

11

10

9

24
23
22
SRC_Y [31:16]
R/W
0
8
7
6
SRC_Y [15:0]
R/W

500/616

21

20

19

18

17

16

5

4

3

2

1

0

MediaTek Inc. Confidential

Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
0

This register is a double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
In YUV mode, the register represents the Y source address. In RGB mode, the register represents the RGB source address.

31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
SRC_U [31:16]
R/W
0
8
7
6
SRC_U [15:0]
R/W
0

21

20

5

4

19

18

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

TVC_UADR_SR
C

TVC U data source address

3

Re
lea
se

TVC+0010h

2

17

16

1

0

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
In YUV mode, the register represents the U source address. In RGB mode, this register has no function.

TVC+0014h
31

30

29

28

27

26

25

15

14

13

12

11

10

9

24
23
22
SRC_V [31:16]
R/W
0
8
7
6
SRC_V [15:0]
R/W
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

TVC V data source address

TVC_VADR_SR
C

21

20

19

18

17

16

5

4

3

2

1

0

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
In YUV mode, the register represents the V source address. In RGB mode, this register has no function.

TVC+0018h
Bit
Name
Type
Reset

15

TVC horizontal scaling coefficient X
14

13

12

11

10

9

8

7

TVC_HCOEFX
6

5
4
COEFX
R/W
0

3

2

1

0

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
The scaling coefficients should follow the formula:
Ws (source width ) − 1
=
Wt (t arg et width) − 1

Y
Wt − 1 ,
256

X+

where X, Y are positive integers, and 0 < Y < Wt – 1.

MT
K

For example, if the user needs to scale the image width from 640 pixels to 720 pixels, the formula is:
371
227 +
639
719
,
=
719
256
giving values X=227 and Y=371.

501/616

MediaTek Inc. Confidential

Bit
Name
Type
Reset

15

TVC horizontal scaling coefficient Y
14

13

This register is double buffer.

TVC+0020h
Bit
Name
Type
Reset

15

12

11

10

9

8

7

TVC_HCOEFY
6

13

3

2

1

0

At the start of each frame, the enable bit is latched into the active buffer and takes effect.

TVC vertical scaling coefficient X
14

5
4
COEFY
R/W
0

12

11

10

9

8

7

TVC_VCOEFX

6

fo
r

TVC+001Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

5
4
COEFX
R/W
0

3

2

1

0

TVC+0024h
Bit
Name
Type
Reset

15

TVC vertical scaling coefficient Y
14

13

TVC+0028h
15

12

11

10

9

8

7

6

5
4
COEFY
R/W
0

3

TVC frame source width control register
14

13

TVC_VCOEFY
2

1

0

At the start of each frame, the enable bit is latched into the active buffer and takes effect.

Co
nf
id
en
tia
l

This register is double buffer.

Bit
Name
Type
Reset

Re
lea
se

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
The scaling coefficients should follow the formula:
Y
X+
Hs ( source height ) − 1
Ht − 1 , X , Y ∈ positive in teger
=
Ht (t arg etn height ) − 1
256

12

11

10

9

8

7

6

TVC_SRCWIDTH
5
4
SRCWIDTH
R/W
0

3

2

1

0

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
In YUV mode, the source width is a multiple of 16; in RGB mode, the source width is a multiple of 2.

TVC+002C
Bit
Name
Type
Reset

15

14

13

This register is double buffer.

15

12

11

10

9

8

7

6

5
4
SRCHEIGHT
R/W
0

3

14

13

2

1

0

At the start of each frame, the enable bit is latched into the active buffer and takes effect.

TVC frame target width control register

MT
K

TVC+0030
Bit
Name
Type
Reset

TVC_SRCHEIGH
T

TVC frame source height control register

12

11

10

9

8

502/616

7

6

TVC_TARWIDTH
5
4
TARWIDTH
R/W
0

3

2

1

0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

This register is double buffer. At the start of each frame, the enable bit is latched into
the active buffer and takes effect.

15

14

13

This register is double buffer.

TVC+0038h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

12

11

10

9

8

7

6

5
4
TARHEIGHT
R/W
0

3

2

1

0

At the start of each frame, the enable bit is latched into the active buffer and takes effect.

TVC start point control register

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Re
lea
se

Bit
Name
Type
Reset

TVC_TARHEIGH
T

TVC frame target height control register

fo
r

TVC+0034

23

22

7

6

21
20
START_PXL
R/W
0
5
4
START_LINE
R/W
0

TVC_START_PO
INT

19

18

17

16

3

2

1

0

TVC+003Ch
Bit

15

Co
nf
id
en
tia
l

This register is double buffer. At the start of each frame, the enable bit is latched into the active buffer and takes effect.
This register is used to control the position of frame displayed on TV. Setting START_PXL to 0 and START_LINE to
21(NTSC) or 22(PAL) aligns the frame to the top-left corner of display.
START_PXL Starting pixel position in a line.
START_LINE Starting line of display.

TVC register update control register
14

Name
Type
Reset

13

12

11

10

9

8

7

TVC_REG_RDY
6

5

4

3

2

1

0
REG_
RDY
R/W
0

This register indicates that the double buffer register data is ready to be latched into active buffer.
At the start of each frame, the hardware monitors the bit. If the bit is set to 1 by the software, the double buffer register is
latched into active buffer synchronously, and the REG_RDY bit is automatically cleared.
REG_RDY Double buffer control bit.

TVC+0040h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Test signal region start line number control register 1

15

14

13

28

27

26

25

24

23

22

12

11

10

9

8

7

6

503/616

21
20
SLINE1
R/W
0
5
4
SLINE0
RO
0

TVC_PTRN1

19

18

17

16

3

2

1

0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The register specifies the starting line of the 1st and 2nd regions of the test signal to display. While the running line number
falls in the 1st region, the TV iteratively displays the 1st line buffer. While it falls in the 2nd region, the TV iteratively
displays the 2nd line buffer. The data in the line buffers is pre-filled by the user. The line length is 720 pixels.
SLINE1 The starting line of the 2nd region.
SLINE0 The starting line of the 1st region.

31

30

29

28

27

26

25

24

23

22

15

14

13

12

11

10

9

8

7

6

TVC_PTRN2

21
20
SLINE3
R/W
0
5
4
SLINE2
R/W
0

19

18

17

16

3

2

1

0

Re
lea
se

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Test signal region start line number control register 2

fo
r

TVC+0044h

The register specifies the starting line of the 3rd and 4th regions of the test signal to display. While the running line number
falls in the 3rd region, the TV iteratively displays the 3rd line buffer. While it falls in the 4th region, the TV iteratively
displays the 4th line buffer. The data in the line buffers is pre-filled by the user. The line length is 720 pixels.
SLINE3 The starting line of the 4th region.
SLINE2 The starting line of the 3rd region.

Bit
Name
Type
Reset

15

Line buffer load control register
14

13

12

11

10

9

8
BUSY
RO
0

7

Co
nf
id
en
tia
l

TVC+0048h

6

5

4

3
LL3
WO
0

TVC_LINELOAD
2
LL2
WO
0

1
LL1
WO
0

0
LL0
WO
0

The register controls the data loading of the line buffer. Turn off TVEN and TSEN when performing the line loading
operation. The BUSY flag is asserted until the line loading operation is completed.
BUSY Line loading busy.
LL3
Writing one starts loading line buffer 3.
LL2
Writing one starts loading line buffer 2.
LL1
Writing one starts loading line buffer 1.

6.18.2.1

6.19

Writing one starts loading line buffer 0.

TV encoder

General Description

MT
K

6.19.1

LL0

TV encoder receives a YCbCr stream from the video scaler and encodes the stream into NTSC/PAL signal.
shows the block diagram of the TV encoder.

504/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

APB bus

Video DMA

Video scaler

YCbCr420 or
RGB565

YCbCr422

Figure 37 Block Diagram of TV Encoder

6.19.2

Register Definitions

TVE+0000h

Encoder mode control
26

25

24

23

22

21

20

19

18

17
16
TVTYPE
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
R/W
0
0
0
0
0
0
0
0
0
0
0
11
10
9
8
7
6
5
4
3
2
1
0
SYDE
CUPO YLPO CLPO CLPS
SETU
ENCO
YDEL
CBON
L
F
N
N
EL
P
N
R/W
R/W
R/W R/W R/W R/W
R/W R/W R/W
0
0
0
0
0
0
0
0
0

TV type.
00 NTSC (525 lines, no phase alternation line)
01 PAL-M (525 lines, with phase alternation line)
10 PAL-C (625 lines, with phase alternation line)
11 PAL (625 lines, with phase alternation line)
U/V swap.
Blacker than black mode on.
Slew at the beginning and at the end of the horizontal active area off.
Delay of Y (half sample resolution).
Delay of Y (one sample resolution). (Recommended setting is 2.)
Chrominance (chroma) of component up-sample off.
Luminance (luma) low-pass filter on. (Recommended setting is 1.)
Chroma low-pass filter on. (Recommended setting is 1.)
Chroma low-pass filter coefficient selection.
7.5IRE setup enable. (M) NTSC and (M, N) PAL have a blanking pedestal.

MT
K

UVSWP
BLKER
SLOFF
SYDEL
YDEL
CUPOF
YLPON
CLPON
CLPSEL
SETUP

27

TVE_MODE

Co
nf
id
en
tia
l

Bit
31
30
29
28
Name
Type R/W R/W R/W R/W
Reset
0
0
0
0
Bit
15
14
13
12
UVSW BLKE SLOF
Name
P
R
F
Type R/W R/W R/W
Reset
0
0
0

TVTYPE

10 bit
Video DAC

TV encoder

Re
lea
se

GMC bus

fo
r

TV controller

505/616

MediaTek Inc. Confidential

CBON
ENCON

Enable the color bar.
Enable the TV encoder.

TVE+0004h

TVE_CSCALE

31

30

29

28

27

26

25

24

23

22

21

20

15

14

13

12
11
VSCALE
R/W
0x5A (90)

10

9

8

7

6

5

4
3
USCALE
R/W
0x5A (90)

Bit

31

DAC control
30

29

28

R/W
0
14

R/W
0
13

R/W
0
12

R/W
0

R/W
0

27

26

25

Name
Type R/W
Reset
0
Bit
15

Type R/W
Reset
0

TRIMSET

23

R/W R/W R/W R/W R/W
0
0
0
0
0
11
10
9
8
7
TEST
PLUG
_COM VPLUGREF _DET
P_EN
_EN
R/W R/W
R/W
R/W R/W
0
0
0
0
0

Co
nf
id
en
tia
l

Name

24

Re
lea
se

USCALE Scale of U (USCALE/128).
VSCALE Scale of V (VSCALE/128).
BLANK Luma data at this level (BLANKx4) is presented as blank.

TVE+0008h

19

18
17
BLANK
R/W
0x4
2
1

16

0

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Scale control

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

22

TVE_DACTRL

21

20
19
18
17
16
TRIMS
TRIM
ET
R/W R/W R/W
R/W
0
0
0
0
6
5
4
3
2
1
0
PDN_
PDN_
PDN_ PDN_ PDN_
DAC_
HAIBI
BGRE
DAC2 DAC1 DAC0
EN
AS
F
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
1

MT
K

Enable software trimming code setting.
0 Disable.
1 Enable.
TRIM
Trimming code for BGVref.
TEST_COMP_EN
Comparator test enable.
0
Disable.
1
Enable.
VPLUGREF
Plug-in detect threshold selection.
PLUG_DET_EN
Plug-in detect enable.
0
Disable.
1
Enable.
PDN_HAIBIAS Half bias current power down mode.
0
Power up.
1
Power down.
PDN_DAC2
DAC power down control.
0
Power up.
1
Power down.
PDN_DAC1
3/4 DAC power down control.
0
Power up.

506/616

MediaTek Inc. Confidential

DAC_EN

TVE+000Ch
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Burst level control

TVE_BURST

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

UPQINI Phase offset of the color burst.
BRSTLVL Color burst level.

TVE+0010h

Color frequency control

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

23

22

7

6

21

20
19
UPQINI
R/W
0
4
3
BRSTLVL
R/W
0x3A (58)

5

23

22
21
BFP2
R/W
0xdd0 (3536)
7
6
5

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

fo
r

PDN_BGREF

1
Power down.
1/2 DAC power down control.
0
Power up.
1
Power down.
BGVref power down control.
0
Power up.
1
Power down.
DAC enable.

Re
lea
se

PDN_DAC0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

20

18

17

16

2

1

0

TVE_FREQ

19

18

17

16

4
3
BFP1
R/W
0x10f (271)

2

1

0

Burst frequency control.

Burst frequency = 27MHz ×

BFP1 +

BFP2 +

4H
2048

X
625

,

where H is the pixel clock cycle number per line.

Use the following table to get BFP1 and BFP2 (in decimal).
TV type

H

NTSC
PAL

BFP2

1716

0

271

3536

1728

67

336

2061

Color burst frequency synthesis value 2.
Color burst frequency synthesis value 1.

TVE+0014h
Bit

BFP1

MT
K

BFP2
BFP1

X

31

Slew control

30

29

28

27

TVE_SLEW
26

25

24

507/616

23

22

21

20

19

18

17

16

MediaTek Inc. Confidential

30

29

28

15

14

13

12

9

8

7

27
26
YLPF11
R/W
0x32 (-14)
11
10

25

24

9

8

23

22

2

7

6

1

0

TVE_YLPFC

21

20

19
18
YLPF10
R/W
0x2 (2)
3
2

5

4

Luma low-pass filter coefficients 12-15

31

30

29

15

14

13

YLPF15
YLPF14
YLPF13
YLPF12

28

27
26
YLPF15
R/W
0x2 (2)
12
11
10
YLPF13
R/W
0X3d (-3)

Luma low-pass filter coefficient 15.
Luma low-pass filter coefficient 14.
Luma low-pass filter coefficient 13.
Luma low-pass filter coefficient 12.

TVE+0030h

17

16

1

0

25

24

9

8

23

22

21

7

6

5

TVE_YLPFD

20

19
18
YLPF14
R/W
0x1e (30)
4
3
2
YLPF12
R/W
0X25 (-27)

31

30

15

14

29

13

28
27
YLPF19
R/W
0x90 (144)
12
11
YLPF17
R/W
0Xff (-1)

16

1

0

TVE_YLPFE

26

25

24

23

22

21

10

9

8

7

6

5

Luma low-pass filter coefficient 19.
Luma low-pass filter coefficient 18.
Luma low-pass filter coefficient 17.
Luma low-pass filter coefficient 16.

17

Signed integer.
Signed integer.
Signed integer.
Signed integer.

Luma low-pass filter coefficients 16-19

MT
K

YLPF19
YLPF18
YLPF17
YLPF16

10

Luma low-pass filter coefficient 11. Signed integer.
Luma low-pass filter coefficient 10. Signed integer.

TVE+002Ch

Bit
Name
Type
Reset
Bit
Name
Type
Reset

11

Luma low-pass filter coefficients 10-11

31

YLPF11
YLPF10

Bit
Name
Type
Reset
Bit
Name
Type
Reset

12

Begin cycle of valid pixel with slew rate control.
End cycle of valid pixel with slew rate control.

TVE+0028h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

13

Re
lea
se

SLEWUP
SLEWDN

14

fo
r

15

SLEWUP
R/W
0xc8 (200)
6
5
4
3
SLEWDN
R/W
0x6A4 (1700)

Co
nf
id
en
tia
l

Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Must be unsigned.
Must be unsigned.
Signed integer.
Signed integer.

508/616

20
19
YLPF18
R/W
0xb4 (180)
4
3
YLPF16
R/W
0Xc7 (-57)

18

17

16

2

1

0

Hardware extends to 9 bits.
Hardware extends to 9 bits.

MediaTek Inc. Confidential

Chrominance low-pass filter coefficients 0-3

31

30

29

28

15

14

13

12

CLPF3
CLPF2
CLPF1
CLPF0

Chrominance low-pass filter coefficient 3.
Chrominance low-pass filter coefficient 2.
Chrominance low-pass filter coefficient 1.
Chrominance low-pass filter coefficient 0.

TVE+0038h

27
26
CLPF3
R/W
0x18
11
10
CLPF1
R/W
0x10

24

23

22

21

20

9

8

7

6

5

4

19
18
CLPF2
R/W
0xd
3
2
CLPF0
R/W
0x1

Chrominance low-pass filter coefficients 4-7

31

30

29

28

15

14

13

12

CLPF7
CLPF6
CLPF5
CLPF4

Chrominance low-pass filter coefficient 7.
Chrominance low-pass filter coefficient 6.
Chrominance low-pass filter coefficient 5.
Chrominance low-pass filter coefficient 4.

TVE+003Ch

27
26
CLPF7
R/W
0x25
11
10
CLPF5
R/W
0x20

25

24

9

8

23

22

21

20

7

6

5

4

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Bit
Name
Type
Reset
Bit
Name
Type
Reset

25

30

15

14

16

1

0

TVE_CLPFB

19
18
CLPF6
R/W
0x34
3
2
CLPF4
R/W
0x21

Chrominance low-pass filter coefficients 8-9

31

17

fo
r

Bit
Name
Type
Reset
Bit
Name
Type
Reset

TVE_CLPFA

Re
lea
se

TVE+0034h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

17

16

1

0

TVE_CLPFC

29

28

27

26

25

24

23

22

21

20

19

18

17

16

13

12

11
10
CLPF9
R/W
0x27

9

8

7

6

5

4

3
2
CLPF8
R/W
0x3c

1

0

CLPF9 Chrominance low-pass filter coefficient 9.
CLPF8 Chrominance low-pass filter coefficient 8.

TVE+0040h
31

30

29

MT
K

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Gamma correction coefficient 0

15

14

13

28

27

26

25

24

23

12

11

10

9

8

7

509/616

TVE_GAMMAA
22
21
GAMMA0
R/W
0
6
5

20

19

18

17

16

4

3

2

1

0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

GAMMA0~GAMMA8 indicate the turning points of a piecewise linear approximation for a gamma curve.
values form a perfect linear equation with no gamma correction.

GAMMA8

GAMMA7
GAMMA6
GAMMA5
GAMMA4
GAMMA3

fo
r

Gamma correction is performed on Luma only.

By default, the

GAMMA1

GAMMA0

GAMMA0 Gamma correction coefficient 0.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Gamma correction coefficients 1-2

31

30

15

14

29

28

27

26

25

24

23

Co
nf
id
en
tia
l

TVE+0044h

Re
lea
se

GAMMA2

13

12

11

10

9

8

7

22
21
GAMMA2
R/W
0x314
6
5
GAMMA1
R/W
0x18a

TVE_GAMMAB

20

19

18

17

16

4

3

2

1

0

GAMMA2 Gamma correction coefficient 2.
GAMMA1 Gamma correction coefficient 1.

TVE+0048h
Bit
Name
Type
Reset
Bit
Name
Type
Reset

Gamma correction coefficients 3-4

31

30

15

14

29

28

27

26

25

24

23

13

12

11

10

9

8

7

TVE_GAMMAC
22
21
GAMMA4
R/W
0x629
6
5
GAMMA3
R/W
0x49e

20

19

18

17

16

4

3

2

1

0

MT
K

GAMMA4 Gamma correction coefficient 4.
GAMMA3 Gamma correction coefficient 3.

TVE+004Ch
Bit

31

Gamma correction coefficients 5-6

30

29

28

27

26

25

24

510/616

23

TVE_GAMMAD
22

21

20

19

18

17

16

MediaTek Inc. Confidential

15

14

13

12

11

10

9

8

7

GAMMA6
R/W
0x93d
6
5
GAMMA5
R/W
0x7b3

GAMMA6 Gamma correction coefficient 6.
GAMMA5 Gamma correction coefficient 5.

Bit
Name
Type
Reset
Bit
Name
Type
Reset

Gamma correction coefficients 7-8

31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

GAMMA8 Gamma correction coefficient 8.
GAMMA7 Gamma correction coefficient 7.

TVE+0060h
31

30

29

28

27

26

25

24

15

14

13

12

11

10

9

8

Name
Type
Reset

7

2

1

0

TVE_GAMMAE

22
21
GAMMA8
R/W
0xc52
6
5
GAMMA7
R/W
0xac8

20

19

4

3

18

17

16

2

1

0

TVE_SWRST

23

22

21

20

19

18

17

16

7

6

5

4

3

2

1

0
SWRS
T
WO
0

Co
nf
id
en
tia
l

Bit
Name
Type
Reset
Bit

Software reset control

23

3

Re
lea
se

TVE+0050h

4

fo
r

Name
Type
Reset
Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Writing a 1 invokes a software reset.

TVE+0070h
Bit
Name
Type

15

Plug-in detection
14

13

12

11

10

9

8

7

TVE_PLUG
6

5

4

3

2

1

0
PLUG
RO

The TV encoder can detect cable plug-in by sensing the output impedance. To enable plug-in detection, set the
TVE_DACTRL register PLUG_DETECT_EN bit. If PLUG_DETECT_EN is enabled, when the cable is plugged in, the
PLUG bit is set to 1. The user can use polling or interrupt schemes (refer to TVE_INTREN and TVE_INTR) for plug-in
detection.

MT
K

PLUG Plug-in detection.
0 Cable not plugged in.
1 Cable plugged in.

511/616

MediaTek Inc. Confidential

7
7.1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Audio Front-End
General Description

fo
r

The audio front-end essentially consists of voice and audio data paths. Figure 38 shows the block diagram of the audio
front-end. All voice band data paths comply with the GSM 03.50 specification. Mono hands-free audio or external FM
radio playback paths are also provided. The audio stereo path facilitates CD-quality playback, external FM radio, and
voice playback through a headset.

MUX

Audio Amp-L

Audio
Signal

,!- .!(#

Re
lea
se

Audio
LCH-DAC

,!- .!(

MUX

Stereoto-Mono
Audio
RCH-DAC

Audio Amp-R

,!-* %'#

Stereoto-Mono

* 0,

+
1

,!-* %'

,!-.!( -'

Voice
Signal

Voice DAC

Voice Amp-0

,!-.!( -/

MUX

Co
nf
id
en
tia
l

Voice Amp-1

,!-.!( -/

,!-2%' -/

PGA

Voice ADC

MUX

Voice
Signal

,!-.!( -'

,!-2%' -'
,!-2%' -'

,!-2%' -/

Figure 38 Block diagram of audio front-end

MT
K

Figure 39 shows the digital circuits block diagram of the audio front-end. The APB register block is an APB peripheral
that stores settings from the MCU. The DSP audio port block interfaces with the DSP for control and data
communications. The digital filter block performs filter operations for voice band and audio band signal processing.
The Digital Audio Interface (DAI) block communicates with the System Simulator for FTA or external Bluetooth modules.

512/616

MediaTek Inc. Confidential

4
45

,/
3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

5
+

fo
r

,%

,

Re
lea
se

4/
,

4/
,
+
/+

3
*
,

,

Figure 39 Block diagram of digital circuits of the audio front-end

- 6

-

"

-

"

-7

-7

Co
nf
id
en
tia
l

To communicate with the external Bluetooth module, the master-mode PCM interface and master-mode I2S/EIAJ interface
are supported. The clock of PCM interface is 256 KHz, and the frame sync is 8 KHz. Both long sync and short sync
interfaces are supported. The PCM interface can transmit 16-bit stereo or 32-bit mono 8KHz sampling rate voice signal.
Figure 40 shows the timing diagram of the PCM interface. Note that the serial data changes when the clock is rising and
is latched when the clock is falling.

)

)

)

:

8

9

)

)

)

)

:

8

9

)

MT
K

Figure 40 Timing diagram of Bluetooth application
I2S/EIAJ interface is designed to transmit high quality audio data. Figure 40 and Figure 41 illustrate the timing diagram
of the two types of interfaces. I2S/EIAJ can support 32KHz, 44.1KHz, and 48KHz sampling rate audio signals. The

513/616

MediaTek Inc. Confidential

clock frequency of I2S/EIAJ can be 32×(sampling frequency), or 64×(sampling frequency).

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
For example, to transmit a

44.1KHz CD-quality music, the clock frequency should be 32×44.1KHz = 1.4112MHz or 64×44.1KHz = 2.8224MHz.
I2S/EIAJ interface is not only used for Bluetooth module, but also for external DAC components.
be sent to the external DAC through the I2S/EIAJ interface.

Audio data can easily

In this document, the I2S/EIAJ interface is referred to as EDI (External DAC Interface).

EDI_WS
EDI_DAT

Left Channel
6

5

4

3

2

1

0

15

14

13

12

11

10

9

8

7

Right Channel
6

5

4

3

2

1

0

15

14

13

12

11

10

9

8

EDI_CLK

EDI_DAT

Left Channel
6

5

4

3

2

1

0

15

14

13

12

11

10

9

8

6

5

4

3

2

1

0

15

14

13

5

4

3

2

1

0

15

14

13

Right Channel

7

6

5

4

3

2

Figure 42 EDI Format 2: I2S (FMT = 1).

7.1.1

7

Re
lea
se

Figure 41 EDI Format 1: EIAJ (FMT = 0).

EDI_WS

fo
r

EDI_CLK

DAI, PCM and EDI Pin Sharing

DAI, PCM, and EDI interfaces share the same pins.

1

0

15

14

13

12

11

10

9

8

7

6

The pin mapping is listed in Table 59.

DAI

PCM

EDI

DAI_CLK (OUTPUT)

DAI_CLK

PCM_CLK

EDI_CLK

DAI_TX

PCM_OUT

EDI_DAT

DAI_RX

PCM_IN

-

PCM_SYNC

DAI_TX (OUTPUT)
DAI_RX (INPUT)

Co
nf
id
en
tia
l

PIN NAME

BT_SYNC (OUTPUT)

EDI_WS

Table 59 Pin mapping of DAI, PCM, and EDI interfaces.
With the dedicated pins, PCM and EDI

MT
K

Beside the shared pins, the EDI interface can also use other dedicated pins.
interfaces can operate at the same time.

514/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Dedicated Shared
Pins
Pins

PCM DAI

DSP
IO BUS
BYPASS
=00

int
1

BYPASS
=11

BYPASS
=10
int
2

Figure 43 DAI, PCM, EDI interfaces

7.2

Register Definitions

MCU APB bus registers in audio front-end are listed as follows.

Bit

15

AFE Voice MCU Control Register
14

Name
Type
Reset

Co
nf
id
en
tia
l

AFE+0000h

SD-DAC
upsampling

FIR

Re
lea
se

BYPASS
=01

fo
r

EDI

13

12

11

10

9

8

7

6

5

4

3

SDM

AFE_VMCU_CO
N0
2

1

0
VAFE
ON
R/W
0

MCU sets this register to start AFE voice operation. A synchronous reset signal is issued, then periodical interrupts of
8-KHz frequency are issued. Clearing this register stops the interrupt generation.
VAFEON

Turn on audio front-end operations.

AFE+000Ch
Bit

15

Name
Type
Reset

AFE_VMCU_CO
N1

AFE Voice Analog-Circuit Control Register 1
14

13

12

11

10

9

MT
K

Set this register for consistency of analog circuit setting.

8

7
VRSD
ON
R/W
0

6

5

4

3

2

1

0

Suggested value is 80h.

VRSDON Turn on the voice-band redundant signed digit function.
0: 1-bit 2-level mode
1: 2-bit 3-level mode
515/616

MediaTek Inc. Confidential

AFE+0014h
Bit

15

AFE Voice DAI Bluetooth Control Register
14

13

12

11

10

9

8

7

Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

AFE_VDB_CON

6
5
4
3
EDIO VDAI PCMO VBTS
N
ON
N
YNC
RW R/W R/W R/W
0
0
0
0

Set this register for DAI test mode and Bluetooth application.

2

1

VBTSLEN
R/W
000

Turn on the Bluetooth PCM function.

VBTSYNC Bluetooth PCM frame sync type

Re
lea
se

fo
r

EDION EDI signals are selected as the output of DAI, PCM, EDI shared interface.
0 EDI is not selected. A dedicated EDI interface can be enabled by programming the GPIO selection.
refer to GPIO section for details.
1 EDI is selected. VDAION and VBTON are not set.
VDAION Turn on the DAI function.
VBTON

0

Please

0: short
1: long
VBTSLEN Bluetooth PCM long frame sync length = VBTSLEN+1

AFE+0018h
Bit

15

AFE Voice Look-Back mode Control Register
14

13

12

11

10

9

8

7

6

5

4

Co
nf
id
en
tia
l

Name
Type
Reset

AFE_VLB_CON

3
2
1
0
VBYP VDAPI VINTI VDEC
ASSII NMOD NMOD INMO
R
E
E
DE
R/W R/W R/W R/W
0
0
0
0

Set this register for AFE voice digital circuit configuration control. Several loop back modes are implemented for test
purposes. Default values correspond to the normal function mode.
VBYPASSIIR Bypass hardware IIR filters.
VDAPINMODE DSP audio port input mode control
0 Normal mode
1 Loop back mode
VINTINMODE interpolator input mode control
0 Normal mode
1 Loop back mode
VDECINMODE decimator input mode control
0 Normal mode

1

MT
K

Loop back mode

AFE+0020h
Bit

15

AFE_AMCU_CO
N0

AFE Audio MCU Control Register 0

14

13

12

11

10

9

8

516/616

7

6

5

4

3

2

1

0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

AAFE
ON
R/W
0

Name
Type
Reset

Bit

15

AFE Audio Control Register 1
14

13

12

11

10

Name

BYPASS

Type
Reset

RW
00

9

8
ADITH
ON
R/W
0

7

6

5

4

ADITHVAL

ARAMPSP

R/W
00

R/W
00

Re
lea
se

AFE+0024h

fo
r

MCU sets this register to start AFE audio operation. A synchronous reset signal is
issued, then periodical interrupts of 1/6 sampling frequency are issued. Clearing this
register stops the interrupt generation.

AFE_AMCU_CON
3
2
AMUTE AMUTE
R
L
R/W
R/W
0
0

MCU sets this register to inform hardware of the sampling frequency of audio being played back.

BYPASS To bypass part of the audio hardware path.
00 No bypass. The input data rate is 1/4 sampling frequency. For example, if the sampling frequency is
32KHz, then the input data rate is 8KHz.
01 Bypass the first stage of interpolation. The input data rate is 1/2 the sampling frequency.
10 Bypass two stages of interpolation. The input data rate is the same as the sampling frequency.
11 Bypass two stages of interpolation and EQ filter. The input data rate is the same as the sampling frequency.

DSP
IO BUS

Co
nf
id
en
tia
l

EDI

BYPASS
=01

BYPASS
=00

int
1

BYPASS
=11

BYPASS
=10

int
2

FIR

SD-DAC
upsampling

SDM

Figure 44 Block diagram of the audio path.

ADITHON Turn on the audio dither function.
ADITHVAL
1/4
1/2
1
2

ramp up/down speed selection

MT
K

00
01
10
11
ARAMPSP

Dither scaling setting.

00
01
10
11

8, 4096/AFS
16, 2048/AFS
24, 1024/AFS
32, 512/AFS

517/616

MediaTek Inc. Confidential

1
AFS
R/W

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
AMUTER Mute the audio R-channel, with a soft ramp up/down.
AMUTEL Mute the audio L-channel, with a soft ramp up/down.
AFS Sampling frequency setting.

AFE+0028h
Bit
Name
Type
Reset

15

fo
r

32-KHz
44.1-KHz
48-KHz
reserved

AFE EDI Control Register
14

13

12

11

10

AFE_EDI_CON

9

8

7

6

5

4
3
WCYCLE
R/W
01111

2

1
FMT
R/W
0

Re
lea
se

00
01
10
11

This register is used to control the EDI
EN

EDI_CLK
EDI_WS
EDI_DAT

6

5

4

3

2

Co
nf
id
en
tia
l

Enable EDI. When EDI is disabled, EDI_DAT and EDI_WS hold low.
0 disable EDI
1 enable EDI
FMT
EDI format
0 EIAJ
1 I2S
WCYCLE Clock cycle count in a word. Cycle count = WCYCLE + 1, and WCYCLE can be 15 or 31 only.
values result in an unpredictable error.
15 Cycle count is 16.
31 Cycle count is 32.

1

16 cycles

16 cycles

Left Channel

Right Channel

0 15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0 15 14 13 12 11 10 9

8

7

6

5

4

3

2

1

0
EN
R/W
0

Any other

0 15 14 13

Figure 45 Cycle count is 16 for I2S format.

EDI_CLK
EDI_WS
EDI_DAT

6

5

4

3

2

1

0 15 14 13 12

32 cycles

32 cycles

Left Channel

Right Channel

2

1

0

15 14 13 12

2

1

0

15 14 13

MT
K

Figure 46 Cycle count is 32 for I2S format.

518/616

MediaTek Inc. Confidential

AFE+0040h~00
AFE Audio Equalizer Filter Coefficient Register
F0h
Bit
Name
Type

15

14

13

12

11

10

9

8

7

6

5

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

AFE_EQCOEF
4

3

A
WO

2

1

0

7.3

Programming Guide

Re
lea
se

fo
r

Audio front-end provides a 45-tap equalizer filter. The filter is shown below.
DO = (A44 X DI44 + A43 X DI43 … + A1 X DI1 + A0 X DI0)/32768.
DIn is the input data, and An is the coefficient of the filter, which is a 16-bit 2’s complement signed integer. DI0 is the last
input data.
The coefficient cannot be programmed when the audio path is enabled, or unpredictable noise may be generated. If
coefficient programming is necessary while the audio path is enabled, the audio path must be muted during programming.
After programming is complete, the audio path is not to be resumed (unmated) for 100 sampling periods.
A
Coefficient of the filter.

Several cases – including speech call, voice memo record, voice memo playback, melody playback and DAI tests – requires
that partial or the whole audio front-end be turned on.
The following are the recommended voice band path programming procedures to turn on audio front-end:
MCU programs the AFE_DAI_CON, AFE_LB_CON, AFE_VAG_CON, AFE_VAC_CON0, AFE_VAC_CON1
and AFE_VAPDN_CON registers for specific operation modes. Refer also to the analog chip interface
specification.

2.

MCU clears the VAFE bit of the PDN_CON2 register to ungate the clock for the voice band path.
software power down control specification.

3.

MCU sets AFE_VMCU_CON to start operation of the voice band path.

Co
nf
id
en
tia
l

1.

Refer to the

The following are the recommended voice band path programming procedures to turn off audio front-end:
1.

MCU programs AFE_VAPDN_CON to power down the voice band path analog blocks.

2.

MCU clears AFE_VMCU_CON to stop operation of the voice band path.

3.

MCU sets VAFE bit of PDN_CON2 register to gate the clock for the voice band path.

To start the DAI test, the MS first receives a GSM Layer 3 TEST_INTERFACE message from the SS and puts the speech
transcoder into one of the following modes:
Normal mode (VDAIMODE[1:0]: 00)

Test of speech encoder/DTX functions (VDAIMODE[1:0]: 10)

MT
K

Test of speech decoder/DTX functions (VDAIMODE[1:0]: 01)
Test of acoustic devices and A/D & D/A (VDAIMODE[1:0]: 11)

The MS then waits for DAIRST# signaling from the SS. Recognizing this, DSP starts to transmit to and/or receive from
the DSP. For further details, refer to the GSM 11.10 specification.

519/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
The following are the recommended audio band path programming procedures to turn on audio front-end:
1.

MCU programs the AFE_MCU_CON1, AFE_AAG_CON, AFE_AAC_CON, and AFE_AAPDN_CON registers
for specific configurations. Refer also to the analog chip interface specification.

2.

MCU clears the AAFE bit of the PDN_CON2 register to ungate the clock for the audio band path.
software power down control specification.

3.

MCU sets AFE_AMCU_CON0 to start operation of the audio band path.

Refer to the

fo
r

The following are the recommended audio band path programming procedures to turn off audio front-end:
MCU programs the AFE_AAPDN_CON to power down the audio band path analog blocks.
analog block specification for further details.

2.

MCU clears AFE_AMCU_CON0 to stop operation of the audio band path.

3.

MCU sets the AAFE bit of the PDN_CON2 register to gate the clock for the audio band path.

Refer also to the

MT
K

Co
nf
id
en
tia
l

Re
lea
se

1.

520/616

MediaTek Inc. Confidential

8

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Radio Interface Control

This chapter details the MT6228 interface control with the radio part of a GSM terminal. Providing a comprehensive
control scheme, the MT6228 radio interface consists of Baseband Serial Interface (BSI), Baseband Parallel Interface (BPI),
Automatic Power Control (APC) and Automatic Frequency Control (AFC), together with APC-DAC and AFC-DAC.

Baseband Serial Interface

fo
r

8.1

Re
lea
se

The Baseband Serial Interface controls external radio components. A 3-wire serial bus transfers data to RF circuitry for
PLL frequency change, reception gain setting, and other radio control purposes. In this unit, BSI data registers are
double-buffered in the same way as the TDMA event registers. The user writes data into the write buffer and the data is
transferred from the write buffer to the active buffer when a TDMA_EVTVAL signal (from the TDMA timer) is pulsed.
Each data register BSI_Dn_DAT is associated with one data control register BSI_Dn_CON, where n denotes the index.
Each data control register identifies which events (signaled by TDMA_BSISTRn, generated by the TDMA timer) trigger
the download process of the word in register BSI_Dn_DAT. The word and its length (in bits) is downloaded via the serial
bus. A special event is triggered when the IMOD flag is set to 1: it provides immediate download process without
software programming the TDMA timer.
If more than one data word is to be downloaded on the same BSI event, the word with the lowest address among them is
downloaded first, followed by the next lowest and so on.

Co
nf
id
en
tia
l

The total download time depends on the word length, the number of words to download, and the clock rates. The
programmer must space the successive event to provide enough time. If the download process of the previous event is not
complete before a new event arrives, the latter is suppressed.
The unit has four output pins: BSI_CLK is the output clock, BSI_DATA is the serial data port, and BSI_CS0 and BSI_CS1
are the select pins for 2 external components. BSI_CS1 is multiplexed with another function. Please refer to GPIO table
for more detail.
In order to support bi-directional read and write operations of the RF chip, software can directly write values to BSI_CLK,
BSI_DATA and BSI_CS by programming the BSI_DOUT register. Data from the RF chip can be read by software via the
register BSI_DIN. If the RF chip interface is a 3-wire interface, then BSI_DATA is bi-directional. Before software can
program the 3-wire behavior, the BSI_IO_CON register must be set. An additional signal path from GPIO accommodates
RF chips with a 4-wire interface.

MT
K

The block diagram of the BSI unit is as depicted in Figure 47.

521/616

MediaTek Inc. Confidential

TDMA_EVTVAL
(from TDMA timer)

Control

APB
BUS

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
TDMA_BSISTR (0~15)
(from TDMA timer)

IMOD
SETENV

BSI_DIN_GPIO (read from RFIC)
(GPIO)

Write
buffer

Serial port
control

Active
buffer

fo
r

BSI_CLK
BSI_DATA
BSI_CS0

Re
lea
se

BSI_CS1 (GPIO)

BSI Unit

Figure 47

Block diagram of BSI unit.
BSI_CLK
(invert)
BSI_CLK
(true)

BSI_CSx
(long)
BSI_CSx
(short)

Figure 48

8.1.1

Timing characteristic of BSI interface.

Register Definitions

BSI+0000h
Bit

15

Name
Type
Reset

Co
nf
id
en
tia
l

BSI_DATA

BSI control register
14

13

12

11

10

This register is the control register for the BSI unit.

9

BSI_CON

8
7
6
5
4
3
SETE EN1_ EN1_ EN0_ EN0_
IMOD
NV
POL LEN POL LEN
R/W R/W R/W R/W R/W WO
0
0
0
0
0
N/A

2

1

CLK_SPD
R/W
0

0
CLK_
POL
R/W
0

The register controls the signal type of the 3-wire interface.

MT
K

CLK_POL Controls the polarity of BSI_CLK. Refer to Figure 48.
0 True clock polarity
1 Inverted clock polarity
CLK_SPD Defines the clock rate of BSI_CLK. The 3-wire interface provides 4 choices of data bit rate. The default is
13/2 MHz.
00 13/2 MHz

522/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

BSI+0004h
Bit
15
Name ISB
Type R/W

Control part of data register 0
14

13

12

11

10
LEN
R/W

9

8

Re
lea
se

fo
r

01 13/4 MHz
10 13/6 MHz
11 13/8 MHz
IMOD Enables immediate mode. If the user writes 1 to the flag, the download is triggered immediately without waiting
for the timer events. The words for which the register event ID equals 1Fh are downloaded following this signal.
This flag is write-only. The immediate write is exercised only once: the programmer must write the flag again to
invoke another immediate download. Setting the flag does not disable the other events from the timer; the
programmer can disable all events by setting BSI_ENA to all zeros.
ENX_LEN Controls the type of signals BSI_CS0 and BSI_CS1. Refer to Figure 47.
0 Long enable pulse
1 Short enable pulse
ENX_POL Controls the polarity of signals BSI_CS0 and BSI_CS1.
0 True enable pulse polarity
1 Inverted enable pulse polarity
SETENV Enables the write operation of the active buffer.
0 The user writes to the write buffer. The data is then latched in the active buffer after TDMA_EVTVAL is
pulsed.
1 The user writes data directly to the active buffer.

7

6

5

4

3

BSI_D0_CON
2
EVT_ID
R/W

1

0

Co
nf
id
en
tia
l

This register is the control part of the data register 0. The register determines the required length of the download data
word, the event to trigger the download process of the word, and the targeted device.
Table 61 lists the 27 data registers of this type. Multiple data control registers may contain the same event ID: the data
words of all registers with the same event ID are downloaded when the event occurs.

MT
K

EVT_ID Stores the event ID for which the data word awaits to be downloaded.
00000~01111 Synchronous download of the word with the selected EVT_ID event.
this field and the event is listed as Table 60.
Event ID (in binary) – EVT_ID

Event name

00000

TDMA_BSISTR0

00001

TDMA_BSISTR1

00010

TDMA_BSISTR2

00011

TDMA_BSISTR3

00100

TDMA_BSISTR4

00101

TDMA_BSISTR5

00110

TDMA_BSISTR6

00111

TDMA_BSISTR7

01000

TDMA_BSISTR8

01001

TDMA_BSISTR9

01010

TDMA_BSISTR10

523/616

The relationship between

MediaTek Inc. Confidential

01011

TDMA_BSISTR11

01100

TDMA_BSISTR12

01101

TDMA_BSISTR13

01110

TDMA_BSISTR14

01111

TDMA_BSISTR15

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

fo
r

Table 60 The relationship between the value of EVT_ID field in the BSI control registers and the TDMA_BSISTR
events.

LEN
ISB

BSI +0008h
Bit
Name
Type
Bit
Name
Type

Data part of data register 0

31

30

29

28

27

26

25

15

14

13

12

11

10

9

The value ranges from 0

Re
lea
se

10000~11110 Reserved
11111
Immediate download
Stores the length of the data word. The actual length is defined as LEN + 1 (in bits).
to 31, corresponding to 1 to 32 bits in length.
The flag selects the target device.
0 Device 0 is selected.
1 Device 1 is selected.

24
23
DAT [31:16]
R/W
8
7
DAT [15:0]
R/W

BSI_D0_DAT

22

21

20

19

18

17

16

6

5

4

3

2

1

0

Co
nf
id
en
tia
l

This register is the data part of the data register 0. The legal length of the data is up to 32 bits. The actual number of bits
to be transmitted is specified in LEN field in the BSI_D0_CON register.
DAT
The field signifies the data part of the data register.
Table 61 lists the address mapping and function of the 27 pairs of data registers.
Register Address

Register Function

Acronym

BSI +0004h

Control part of data register 0

BSI_D0_CON

Data part of data register 0

BSI_D0_DAT

Control part of data register 1

BSI_D1_CON

Data part of data register 1

BSI_D1_ DAT

Control part of data register 2

BSI_D2_CON

Data part of data register 2

BSI_D2_ DAT

Control part of data register 3

BSI_D3_CON

Data part of data register 3

BSI_D3_ DAT

Control part of data register 4

BSI_D4_CON

BSI +0028h

Data part of data register 4

BSI_D4_ DAT

BSI +002Ch

Control part of data register 5

BSI_D5_CON

BSI +0030h

Data part of data register 5

BSI_D5_ DAT

BSI +0034h

Control part of data register 6

BSI_D6_CON

BSI +0038h

Data part of data register 6

BSI_D6_ DAT

BSI +0008h
BSI +000Ch
BSI +0010h
BSI +0014h
BSI +0018h
BSI +001Ch
BSI +0020h

MT
K

BSI +0024h

524/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Control part of data register 7

BSI_D7_CON

BSI +0040h

Data part of data register 7

BSI_D7_ DAT

BSI +0044h

Control part of data register 8

BSI_D8_CON

BSI +0048h

Data part of data register 8

BSI_D8_ DAT

BSI +004Ch

Control part of data register 9

BSI_D9_CON

BSI +0050h

Data part of data register 9

BSI_D9_ DAT

BSI +0054h

Control part of data register 10

BSI_D10_CON

BSI +0058h

Data part of data register 10

BSI +005Ch

Control part of data register 11

BSI +0060h

Data part of data register 11

BSI +0064h

Control part of data register 12

BSI_D12_CON

BSI +0068h

Data part of data register 12

BSI_D12_ DAT

BSI +006Ch

Control part of data register 13

BSI +0070h

Data part of data register 13

BSI +0074h

Control part of data register 14

BSI +0078h

Data part of data register 14

BSI +007Ch

Control part of data register 15

BSI +0080h

Data part of data register 15

BSI +0084h

Control part of data register 16

BSI +0088h

Data part of data register 16

BSI +008Ch

Control part of data register 17

BSI_D17_CON

BSI +0090h

Data part of data register 17

BSI_D17_ DAT

Control part of data register 18

BSI_D18_CON

Data part of data register 18

BSI_D18_ DAT

Control part of data register 19

BSI_D19_CON

Data part of data register 19

BSI_D19_ DAT

Control part of data register 20

BSI_D20_CON

Data part of data register 20

BSI_D20_ DAT

Control part of data register 21

BSI_D21_CON

Data part of data register 21

BSI_D21_ DAT

Control part of data register 22

BSI_D22_CON

Data part of data register 22

BSI_D22_ DAT

Control part of data register 23

BSI_D23_CON

Data part of data register 23

BSI_D23_ DAT

Control part of data register 24

BSI_D24_CON

BSI +00C8h

Data part of data register 24

BSI_D24_ DAT

BSI +00CCh

Control part of data register 25

BSI_D25_CON

BSI +00D0h

Data part of data register 25

BSI_D25_ DAT

BSI +00D4h

Control part of data register 26

BSI_D26_CON

BSI +0098h
BSI +009Ch
BSI +00A0h
BSI +00A4h
BSI +00A8h
BSI +00ACh
BSI +00B0h
BSI +00B4h
BSI +00B8h
BSI +00BCh
BSI +00C0h

MT
K

BSI +00C4h

BSI_D10_ DATA
BSI_D11_CON

Re
lea
se

BSI_D11_ DAT

BSI_D13_CON
BSI_D13_ DAT
BSI_D14_CON
BSI_D14_ DAT
BSI_D15_CON
BSI_D15_ DAT
BSI_D16_CON
BSI_D16_ DAT

Co
nf
id
en
tia
l

BSI +0094h

fo
r

BSI +003Ch

525/616

MediaTek Inc. Confidential

BSI +00D8h

BSI_D26_ DAT

Data part of data register 26

Table 61 BSI data registers

BSI event enable register

Bit
15
14
13
12
11
10
9
Name BSI15 BSI14 BSI13 BSI12 BSI11 BSI10 BSI9
Type R/W R/W R/W R/W R/W R/W R/W
Reset
1
1
1
1
1
1
1

BSI_ENA

8
BSI8
R/W
1

This register enables an event by setting the corresponding bit.
bits are also set to 1 after TDMA_EVTVAL pulse.
BSIx

7
BSI7
R/W
1

6
BSI6
R/W
1

5
BSI5
R/W
1

4
BSI4
R/W
1

3
BSI3
R/W
1

2
BSI2
R/W
1

1
BSI1
R/W
1

fo
r

BSI +0190h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

0
BSI0
R/W
1

After a hardware reset, all bits are initialized to 1. These

BSI +0194h
Bit

15

BSI IO mode control register
14

13

12

11

10

9

8

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

Name
Type R/W
0
Reset

Re
lea
se

Enables downloading of the words corresponding to the events signaled by TMDA_BSI.
0 The event is not enabled.
1 The event is enabled.

7

6

5

4

R/W
0

R/W
0

R/W
0

R/W
0

BSI_IO_CON

3
2
1
0
SEL_ 4_WIR DAT_
MODE
CS1
E
DIR
R/W R/W R/W R/W
0
0
1
0

BSI +0198h

Software-programmed data out
14

R/W
0

BSI_DOUT

13

12

11

10

9

8

7

6

5

4

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MT
K

Bit
15
Name
Type R/W
Reset
0

Co
nf
id
en
tia
l

MODE Defines the source of BSI signal.
0 BSI signal is generated by the hardware.
1 BSI signal is generated by the software. In this mode, the BSI clock depends on the value of the field
DOUT.CLK. BSI_CS depends on the value of the field DOUT.CS and BSI_DATA depends on the value of
the field DOUT.DATA.
DAT_DIR Defines the direction of BSI_DATA.
0 BSI _DATA is configured as input. The 3-wire interface is used and BSI_DATA is bi-directional.
1 BSI_DATA is configured as output.
4_WIRE
Defines the BSI_DIN source.
0 The 3-wire interface is used and BSI_DATA is bi-directional. BSI_DIN comes from the same pin as
BSI_DATA.
1 The 4-wire interface is used. Another pin (GPIO) is used as BSI_DIN.
SEL_CS1 Defines which of the BSI_CSx (BSI_CS0 or BSI_CS1) is written by the software.
0 BSI_CS0 is selected.
1 BSI_CS1 is selected.

3

2
DATA
R/W
W
0
0

1
CS
W
0

0
CLK
W
0

CLK
Signifies the BSI_CLK signal.
CS
Signifies the BSI_CS signal.
DATA Signifies the BSI_DATA signal.

526/616

MediaTek Inc. Confidential

BSI +019ch
Bit
15
Name
Type R/W
Reset
0

DIN

Input data from RF chip

BSI_DIN

14

13

12

11

10

9

8

7

6

5

4

3

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

Baseband Parallel Interface

8.2.1

2

1

R/W
0

R/W
0

0
DIN
R
0

fo
r

Registers the input value of BSI_DATA from the RF chip.

8.2

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

General Description

TDMA_EVTVAL
(from TDMA timer)

Re
lea
se

The Baseband Parallel Interface features 10 control pins, which are used for timing-critical external circuits. These pins
typically control front-end components which must be turned on or off at specific times during GSM operation, such as
transmit-enable, band switching, TR-switch, etc.
TDMA_BPISTR (0~21)
(from TDMA timer)

Event Register
Write
buffer

MUX

Active
buffer

APB I/F

Output
buffer

Co
nf
id
en
tia
l

MUX

petev

Immediate mode

!
"

# $ % &'( ') * + , - , . '/'01 '2 + 3 ) 4'* 5 &, . /$ 6
# $ % &'( ') * + , - , . '/'01 '2 4'7 $ % 6

Figure 49

Block

diagram of BPI interface

The user can program 22 sets of 10-bit registers to set the output value of BPI_BUS0~BPI_BUS9. The data is stored in
the write buffers. The write buffers are then forwarded to the active buffers when the TDMA_EVTVAL signal is pulsed,
usually once per frame. Each of the 22 write buffers corresponds to an active buffer, as well as to a TDMA event.

MT
K

Each TDMA_BPISTR event triggers the transfer of data in the corresponding active buffer to the output buffer, thus
changing the value of the BPI bus. The user can disable the events by programming the enable registers in the TDMA
timer. If the TDMA_BPISTR event is disabled, the corresponding signal TDMA_BPISTR is not pulsed, and the value on
the BPI bus remains unchanged.
For applications in which BPI signals serve as the switch, current-driving components are typically added to enhance
driving capability. Four configurable output pins provide current up to 8 mA, and help reduce the number of external

527/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
components. The output pins BPI_BUS6, BPI_BUS7, BPI_BUS8, and BPI_BUS9 are multiplexed with GPIO.
refer to the GPIO table for more detailed information.

8.2.2

Register Definitions

BPI+0000h
Bit

15

BPI control register
14

13

12

11

10

BPI_CON

9

8

7

6

5

4

3

2

1

0
PETE
PINM3 PINM2 PINM1 PINM0
V
WO
WO
WO
WO R/W
0
0
0
0
0

fo
r

Name
Type
Reset

The register controls the direct access mode of the active buffer and

Re
lea
se

This register is the control register of the BPI unit.
the current driving capability for the output pins.

Please

The driving capabilities of BPI_BUS0, BPI_BUS1, BPI_BUS2, and BPI_BUS3 can be 2 mA or 8 mA, determined by the
value of PINM0, PINM1, PINM2, and PINM3, respectively. These output pins provide a higher driving capability and
save on external current-driving components. In addition to the configurable pins, pins BPI_BUS4 to BPI_BUS9 provide
a driving capability of 2 mA (fixed).

BPI +0004h
Bit
Name
Type

15

Co
nf
id
en
tia
l

PETEV Enables direct access to the active buffer.
0 The user writes data to the write buffer. The data is latched in the active buffer after the TDMA_EVTVAL
signal is pulsed.
1 The user directly writes data to the active buffer without waiting for the TDMA_EVTVAL signal.
PINM0 Controls the driving capability of BPI_BUS0.
0 The output driving capability is 2mA.
1 The output driving capability is 8mA.
PINM1 Controls the driving capability of BPI_BUS1.
0 The output driving capability is 2mA.
1 The output driving capability is 8mA.
PINM2 Controls the driving capability of BPI_BUS2.
0 The output driving capability is 2mA.
1 The output driving capability is 8mA.
PINM3 Controls the driving capability of BPI_BUS3.
0 The output driving capability is 2mA.
1 The output driving capability is 8mA.

BPI data register 0
14

13

12

11

10

9
PO9
R/W

8
PO8
R/W

7
PO7
R/W

BPI_BUF0
6
PO6
R/W

5
PO5
R/W

4
PO4
R/W

3
PO3
R/W

2
PO2
R/W

1
PO1
R/W

0
PO0
R/W

This register defines the BPI signals that are associated with the event TDMA_BPI0.

MT
K

Table 62 lists 22 registers of the same structure, each of which is associated with one specific event signal from the TDMA
timer. The data registers are all double-buffered. When PETEV is set to 0, the data register links to the write buffer.
When PETEV is set to 1, the data register links to the active buffer.

528/616

MediaTek Inc. Confidential

One register, BPI_BUFI, is dedicated for use in immediate mode.
change in the corresponding BPI signal and bus.

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Writing a value to that register effects an immediate

POx
This flag defines the corresponding signals for BPIx after the TDMA event 0 takes place.
The overall data register definition is listed in Table 62.
Register Function

Acronym

BPI +0004h

BPI pin data for event TDMA_BPI 0

BPI_BUF0

BPI +0008h

BPI pin data for event TDMA_BPI 1

BPI_BUF1

BPI +000Ch

BPI pin data for event TDMA_BPI 2

BPI +0010h

BPI pin data for event TDMA_BPI 3

BPI +0014h

BPI pin data for event TDMA_BPI 4

BPI +0018h

BPI pin data for event TDMA_BPI 5

BPI_BUF5

BPI +001Ch

BPI pin data for event TDMA_BPI 6

BPI_BUF6

BPI +0020h

BPI pin data for event TDMA_BPI 7

BPI_BUF7

BPI +0024h

BPI pin data for event TDMA_BPI 8

BPI_BUF8

BPI +0028h

BPI pin data for event TDMA_BPI 9

BPI_BUF9

BPI +002Ch

BPI pin data for event TDMA_BPI 10

BPI_BUF10

BPI +0030h

BPI pin data for event TDMA_BPI 11

BPI_BUF11

BPI +0034h

BPI pin data for event TDMA_BPI 12

BPI_BUF12

BPI +0038h

BPI pin data for event TDMA_BPI 13

BPI_BUF13

BPI +003Ch

BPI pin data for event TDMA_BPI 14

BPI_BUF14

BPI +0040h

BPI pin data for event TDMA_BPI 15

BPI_BUF15

BPI pin data for event TDMA_BPI 16

BPI_BUF16

BPI pin data for event TDMA_BPI 17

BPI_BUF17

BPI pin data for event TDMA_BPI 18

BPI_BUF18

BPI pin data for event TDMA_BPI 19

BPI_BUF19

BPI pin data for event TDMA_BPI 20

BPI_BUF20

BPI pin data for event TDMA_BPI 21

BPI_BUF21

BPI pin data for immediate mode

BPI_BUFI

BPI +0048h
BPI +004Ch
BPI +0050h
BPI +0054h
BPI +0058h
BPI +005Ch

BPI_BUF2
BPI_BUF3
BPI_BUF4

Re
lea
se

Co
nf
id
en
tia
l

BPI +0044h

fo
r

Register Address

Table 62 BPI Data Registers.

BPI +0060h
Bit

BPI event enable register 0

BPI_ENA0

15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
BEN1 BEN1 BEN1 BEN1 BEN1 BEN1
Name
BEN9 BEN8 BEN7 BEN6 BEN5 BEN4 BEN3 BEN2 BEN1 BEN0
5
4
3
2
1
0
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

MT
K

This register enables the events that are signaled by the TDMA timer: by clearing a register bit, the corresponding event
signal is ignored. After a hardware reset, all the enable bits default to 1 (enabled). Upon receiving a TDMA_EVTVAL
pulse, all register bits are also set to 1 (enabled).
BENn This flag indicates whether event n signals are heeded or ignored.
529/616

MediaTek Inc. Confidential

0
1

Event n is disabled (ignored).
Event n is enabled.

BPI+0064h
Bit

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

15

BPI event enable register 1
14

13

12

11

10

9

BPI_ENA1

8

7

6

Name

fo
r

Type
Reset

5
4
3
2
1
0
BEN2 BEN2 BEN1 BEN1 BEN1 BEN1
1
0
9
8
7
6
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

8.3

Re
lea
se

This register enables the events that are signaled by the TDMA timing generator: by clearing a register bit, the
corresponding event signal is ignored. After a hardware reset, all the enable bits default to 1 (enabled). Upon receiving
the TDMA_EVTVAL pulse, all register bits are also set to 1 (enabled).
BENn This flag indicates whether event n signals are heeded or ignored.
0 Event n is disabled (ignored).
1
Event n is enabled.

Automatic Power Control (APC) Unit

8.3.1

General Description

Co
nf
id
en
tia
l

The Automatic Power Control (APC) unit controls the Power Amplifier (PA) module. Through APC unit, the proper
transmit power level of the handset can be set to ensure that burst power ramping requirements are met. In one TDMA
frame, up to 7 TDMA events can be enabled to support multi-slot transmission. In practice, 5 banks of ramp profiles are
used in one frame to make up 4 consecutive transmission slots.
The shape and magnitude of the ramp profiles are configurable to fit ramp-up (ramp up from zero), intermediate ramp
(ramp between transmission windows), and ramp-down (ramp down to zero) profiles. Each bank of the ramp profile
consists of 16 8-bit unsigned values, which are adjustable for different conditions.
The entries from one bank of the ramp profile are partitioned into two parts, with 8 values in each half. In normal
operation, the entries in the left half are multiplied by a 10-bit left scaling factor, and the entries in the right half are
multiplied by a 10-bit right scaling factor. The values are then truncated to form 16 10-bit intermediate values. Finally
the intermediate ramp profile are linearly interpolated into 32 10-bit values and sequentially used to update the D/A
converter. The block diagram of the APC unit is shown in Figure 50 .
The

MT
K

The APB bus interface is 32 bits wide. Four write accesses are required to program each bank of ramp profile.
detailed register allocations are listed in Table 63.

530/616

MediaTek Inc. Confidential

PDN_APC
( from global
control)

Power and
clock
control

APB
I/F

DAC_PU

Ramp profile,
scaling factor,
& offset

Multiplier &
interpolator

fo
r

APB BUS
(32bits
data bus)

TDMA_APCSTR (0~6)
TDMA_APCEN
( from TDMA timer ) ( from TDMA timer) QBIT_EN

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Output
buffer

APC_BUS
(10 bits)

50 Block diagram of APC unit.

8.3.2

Register Definitions

APC+0000h
Bit
Name
Type
Bit
Name
Type

APC 1st ramp profile #0

31

30

29

15

14

13

28
27
ENT3
R/W
12
11
ENT1
R/W

26

25

24

10

9

8

Re
lea
se

APC unit

23

22

21

7

6

5

20
19
ENT2
R/W
4
3
ENT0
R/W

Figure

APC_PFA0
18

17

16

2

1

0

Co
nf
id
en
tia
l

The register stores the first four entries of the first power ramp profile. The first entry resides in the least significant byte
[7:0], the second entry in the second byte [15:8], the third entry in the third byte [23:16], and the fourth in the most
significant byte [31:24]. Since this register provides no hardware reset, the programmer must configure it before any APC
event takes place.
ENT3
The field signifies the 4th entry of the 1st ramp profile.
ENT2
The field signifies the 3rd entry of the 1st ramp profile.
ENT1
The field signifies the 2nd entry of the 1st ramp profile.
ENT0
The field signifies the 1st entry of the 1st ramp profile.
The overall ramp profile register definition is listed in Table 63.
Register Address
APC +0000h
APC +0004h
APC +0008h
APC +000Ch

MT
K

APC +0020h

Register Function

Acronym

st

APC_PFA0

st

APC_PFA1

st

APC 1 ramp profile #2

APC_PFA2

APC 1st ramp profile #3

APC_PFA3

APC 1 ramp profile #0

APC 1 ramp profile #1

nd

APC_PFB0

nd

APC 2 ramp profile #0

APC +0024h

APC 2 ramp profile #1

APC_PFB1

APC +0028h

APC 2nd ramp profile #2

APC_PFB2

APC +002Ch

APC 2nd ramp profile #3

APC_PFB3

APC +0040h

rd

APC_PFC0

APC 3 ramp profile #0

531/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
APC +0044h

APC 3rd ramp profile #1

APC_PFC1

APC +0048h

APC 3rd ramp profile #2

APC_PFC2

APC +004Ch

APC 3rd ramp profile #3

APC_PFC3

APC +0060h

th

APC_PFD0

th

APC 4 ramp profile #0

APC +0064h

APC 4 ramp profile #1

APC_PFD1

APC +0068h

APC 4th ramp profile #2

APC_PFD2

APC +006Ch

th

APC_PFD3

th

APC_PFE0

APC +0080h

APC 5 ramp profile #0

APC +0084h

APC 5th ramp profile #1

fo
r

APC 4 ramp profile #3

APC_PFE1

th

APC +0088h

APC_PFE2

APC 5 ramp profile #2
th

APC +008Ch

APC_PFE3

APC 5 ramp profile #3
th

APC 6 ramp profile #0

APC_PFF0

APC +00A4h

APC 6th ramp profile #1

APC_PFF1

Re
lea
se

APC +00A0h

th

APC +00A8h

APC_PFF2

APC 6 ramp profile #2
th

APC +00ACh

APC 6 ramp profile #3

APC +00C0h

APC 7th ramp profile #0

APC_PFF3
APC_PFG0

th

APC +00C4h

APC_PFG1

APC 7 ramp profile #1
th

APC +00C8h

APC 7 ramp profile #2

APC +00CCh

APC 7th ramp profile #3

APC_PFG2
APC_PFG3

Table 63 APC ramp profile registers

Bit
Name
Type
Reset

15

14

APC 1st ramp profile left scaling factor
13

12

11

10

9

8

7

Co
nf
id
en
tia
l

APC +0010h

6

5

4
SF
R/W
1_0000_0000

3

APC_SCAL0L
2

1

0

The register stores the left scaling factor of the 1st ramp profile. This factor multiplies the first 8 entries of the 1st ramp
profile to provide the scaled profile, which is then interpolated to control the D/A converter.
After a hardware reset, the initial value of the register is 256. In this case, no scaling is done (each entry of the ramp
profile is multiplied by 1), because the 8 least significant bits are truncated after multiplication.
The overall scaling factor register definition is listed in Table 64 .
SF

Scaling factor.

APC +0014h
15

14

APC 1st ramp profile right scaling factor
13

12

11

10

9

8

7

6

APC_SCAL0R
5

4
SF
R/W
1_0000_0000

3

2

1

0

MT
K

Bit
Name
Type
Reset

After a hardware reset, the value is 256.

The register stores the right scaling factor of the 1st ramp profile. This factor multiplies the last 8 entries of the 1st ramp
profile to provide the scaled profile, which is then interpolated to control the D/A converter.

532/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

After a hardware reset, the initial value of the register is 256. In this case, no scaling is done (each entry of the ramp
profile is multiplied by 1), because the 8 least significant bits are truncated after multiplication.
The overall scaling factor register definition is listed in Table 64 .
Scaling factor.

APC+0018h
Bit
Name
Type
Reset

15

After a hardware reset, the value is 256.

APC 1st ramp profile offset value
14

13

12

11

10

9

8

7

APC_OFFSET0
6

5
4
OFFSET
R/W
0

3

2

1

0

fo
r

SF

There are 7 offset values for the corresponding ramp profile.

OFFSET Offset value for the corresponding ramp profile.
The overall offset register definition is listed in Table 64.
Register Address

Register Function

After a hardware reset, the default value is 0.

Acronym

st

APC +0010h

Re
lea
se

The 1st offset value also serves as the pedestal value. The value is used to power up the APC D/A converter before the RF
signals start to transmit. The D/A converter is then biased on the value, to provide the initial control voltage for the
external control loop. The exact value depends on the characteristics of the external components. The timing to output
the pedestal value is configurable through the TDMA_BULCON2 register of the timing generator; its valid range is 0~127
quarter-bits of time after the baseband D/A converter is powered up.

APC 1 ramp profile left scaling factor
st

APC_SCAL0L

APC 1 ramp profile right scaling factor

APC_SCAL0R

APC +0018h

APC 1st ramp profile offset value

APC_OFFSET0

APC +0030h
APC +0034h
APC +0038h
APC +0050h
APC +0054h
APC +0058h
APC +0070h
APC +0074h
APC +0078h
APC +0090h
APC +0094h
APC +0098h
APC +00B0h
APC +00B4h

Co
nf
id
en
tia
l

APC +0014h

APC +00B8h

nd

APC_SCAL1L

nd

APC 2 ramp profile right scaling factor

APC_SCAL1R

APC 2nd ramp profile offset value

APC_OFFSET1

APC 2 ramp profile left scaling factor

rd

APC_SCAL2L

rd

APC 3 ramp profile right scaling factor

APC_SCAL2R

APC 3rd ramp profile offset value

APC_OFFSET2

APC 3 ramp profile left scaling factor

th

APC_SCAL3L

th

APC_SCAL3R

th

APC 4 ramp profile offset value

APC_OFFSET3

APC 5th ramp profile left scaling factor

APC_SCAL4L

APC 4 ramp profile left scaling factor

APC 4 ramp profile right scaling factor

th

APC_SCAL4R

th

APC 5 ramp profile offset value

APC_OFFSET4

APC 6th ramp profile left scaling factor

APC_SCAL5L

APC 5 ramp profile right scaling factor

th

APC_SCAL5R

th

APC_OFFSET5

th

APC 6 ramp profile right scaling factor
APC 6 ramp profile offset value
APC 7 ramp profile left scaling factor

APC_SCAL6L

APC +00D4h

APC 7th ramp profile right scaling factor

APC_SCAL6R

MT
K

APC +00D0h
APC +00D8h

th

APC 7 ramp profile offset value

APC_OFFSET6

Table 64 APC scaling factor and offset value registers

533/616

MediaTek Inc. Confidential

APC+00E0h

13

12

11

10

APC_CON

Bit
Name
Type
Reset

15

9

8

7

6

5

4

3

2

1
GSM
R/W
1

0
FPU
R/W
0

GSM

Defines the operation mode of the APC module. In GSM mode, each frame has only one slot, thus only one
scaling factor and one offset value must be configured. If the GSM bit is set, the programmer needs only to
configure APC_SCAL0L and APC_OFFSET0. If the bit is not set, the APC module is operating in GPRS mode.
0 The APC module is operating in GPRS mode.
1 The APC module is operating in GSM mode. Default value.
Forces the APC D/A converter to power up. Test only.
0 The APC D/A converter is not forced to power up. The converter is only powered on when the transmission
window is opened. Default value.
1 The APC D/A converter is forced to power up.

FPU

8.3.3

Re
lea
se

fo
r

14

APC control register

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Ramp Profile Programming

The first value of the first normalized ramp profile must be written in the least significant byte of the APC_PFA0 register.
The second value must be written in the second least significant byte of the APC_PFA0, and so on.
Each ramp profile can be programmed to form an arbitrary shape.

RX

Co
nf
id
en
tia
l

The start of ramping is triggered by one of the TDMA_APCSTR signals. The timing relationship between
TDMA_APCSTR and TDMA slots is depicted in Figure 51 for 4 consecutive time slots case. The power ramping profile
must comply with the timing mask defined in GSM SPEC 05.05. The timing offset values for 7 ramp profiles are stored
in the TDMA timer register from TDMA_APC0 to TDMA_APC6.

TX

TX

TX

TX

MX

RX

Figure 51 Timing diagram of TDMA_APCSTR.

Because the APC unit provides more than 5 ramp profiles, up to 4 consecutive transmission slots can accommodated. The
2 additional ramp profiles are useful particularly when the timing between the last 2 transmission time slots and CTIRQ is
uncertain; software can begin writing the ramp profiles for the succeeding frame during the current frame, alleviating the
risk of not writing the succeeding frame’s profile data in time.

MT
K

In GPRS mode, to fit the intermediate ramp profile between different power levels, a simple scaling scheme is used to
synthesize the ramp profile. The equation is as follows:

534/616

MediaTek Inc. Confidential

DA 0 = OFF + S 0 ⋅

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

DN 15, pre + DN 0

2
DN k −1 + DN k
DA 2 k = OFF + S l ⋅
, k = 1,...,15
2
DA 2 k +1 = OFF + S l ⋅ DN k , k = 0,1,...,15

DA
DN
S0
S1
OFF

=
=
=
=
=

the data to present to the D/A converter,
the normalized data which is stored in the register APC_PFn,
the left scaling factor stored in register APC_SCALnL,
the right scaling factor stored in register APC_SCALnR, and
the offset value stored in the register APC_OFFSETn.

fo
r

where

if 8 > k ≥ 0
if 15 ≥ k ≥ 8

Re
lea
se

0,
1,

l=

The subscript n denotes the index of the ramp profile.

The ramp calculation before interpolation is as depicted in Figure 52.

Co
nf
id
en
tia
l

During each ramp process, each word of the normalized profile is first multiplied by 10-bit scaling factors and added to an
offset value to form a bank of 18-bit words. The first 8 words (in the left half part as in Figure 52) are multiplied by the
left scaling factor S0 and the last 8 words (in the right half part as in Figure 52) are multiplied by the right scaling factor S1.
The lowest 8 bits of each word are then truncated to get a 10-bit result. The scaling factor is 0x100, which represents no
scaling on reset. A value smaller than 0x100 scales the ramp profile down, and a value larger than 100 scales the ramp
profile up.
DN15 * S1 + OFF
DN12 * S1 + OFF

16 Qb

DN8 * S1 + OFF

DN4 * S0 + OFF

DN0 * S0 + OFF

DN4 * S0

DN8 * S1

OFF

Figure 52

The timing diagram of the APC ramp.

MT
K

The 16 10-bit words are linearly interpolated into 32 10-bit words. A 10-bit D/A converter is then used to convert these 32
ramp values at a rate of 1.0833 MHz, that is, at quarter-bit rate. The timing diagram is shown in Figure 53 and the final
value is retained on the output until the next event occurs.

535/616

MediaTek Inc. Confidential

TDMA_APCSTR0

TDMA_APCSTR1

TDMA_APCSTR2

TDMA_APCSTRx
TDMA_APCEN
TX

offset

Ramp Profile

Ramp Profile
TX Burst

TDMA_APCSTR1
APC_DATA

Figure 53

Timing diagram of the APC ramping.

Ramp Profile
TX Burst

~29.5us

~29.5us

Re
lea
se

~29.5us

fo
r

TX

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The APC unit is only powered up when the APC window is open. The APC window is controlled by configuring the
TDMA registers TDMA_BULCON1 and TDMA_BULCON2. Please refer to the TDMA timer unit for more detailed
information.

Co
nf
id
en
tia
l

The first offset value stored in the register APC_OFFSET0 also serves as the pedestal value, which is used to provide the
initial power level for the PA.
Since the profile is not double-buffered, the timing to write the ramping profile is critical. The programmer must be
restricted from writing to the data buffer during the ramping process, otherwise the ramp profile may be incorrect and lead
to a malfunction.

8.4

Automatic Frequency Control (AFC) Unit

8.4.1

General Description

MT
K

The Automatic Frequency Control (AFC) unit provides the direct control of the oscillator for frequency offset and Doppler
shift compensation. The block diagram is of the AFC unit depicted in Figure 54. The module utilizes a 13-bit D/A
converter to achieve high-resolution control. Two modes of operation provide flexibility when controlling the oscillator;
they are described as follows.

536/616

MediaTek Inc. Confidential

TDMA_EVTVAL
( from TDMA timer )

APB
BUS

TDMA_AFC
( from TDMA timer )

AFC_BUS

+ 0'( $
. 5 44$ &

&'0$
. 5 44$ &

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

: 5 0- 5 0
. 5 44$ &

VC

AFC

9 9 $ % ', 0$ 8 &'0$

3 2 + '//, 03 &

3 ) 0&3 /
&$ * '2 0$ &

38 $&
+ 3 ) 0&3 /

F_MODE

fo
r

I_MODE

nPDN_DAC
AFC unit

PDN_AFC
( from global control )

Re
lea
se

Figure 54 Block Diagram of the AFC Controller

In timer-triggered mode, the TDMA timer controls the AFC enabling events. Each TDMA frame can pulse at most four
events. Double buffer architecture is supported. AFC values can be written to the write buffers. When the signal
TDMA_EVTVAL is received, the values in the write buffers are latched into the active buffers. However, AFC values can
also be written to the active buffers directly. Each event is associated with an active buffer sharing the same index.
When a TDMA event is triggered by TDMA_AFC, the value in the corresponding active buffer takes effect. Figure 55
shows a timing diagram of AFC events with respect to TX/RX/MX windows. In this mode, the D/A converter can stay
powered on or be powered on for a programmable duration (256 quarter-bits, by default). The latter option is for power
saving.
MX

TX

Co
nf
id
en
tia
l

RX
AFC_STR0

AFC_STR1

MX

AFC_STR2

AFC_STR3

Figure 55 Timing Diagram for the AFC Controller

In immediate mode, the MCU can directly control the AFC value without event-triggering. The value written by the MCU
takes effect immediately. In this mode, the D/A converter must be powered on continuously. When transitioning from
immediate mode into timer-triggered mode (by setting flag I_MODE in the register AFC_CON to be 0), the D/A converter
is kept powered on for a programmable duration (256 quarter-bits by default) if a TDMA_AFC is not been pulsed. The
duration is prolonged upon receiving events.

8.4.2

Register Definitions

AFC+0000h
Bit

15

Name

AFC control register
14

13

12

11

10

9

8

7

AFC_CON
6

5

MT
K

Type
Reset

4

3
2
1
0
RDAC F_MO FETE I_MO
T
DE
NV
DE
R/W R/W R/W R/W
0
0
0
0

Four control modes are defined and can be controlled through the AFC control register.

537/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

AFC +0004h
Bit
Name
Type

15

AFC data register 0

14

13

12

11

10

9

8

Re
lea
se

fo
r

RDACT The flag enables the direct read operation from the active buffer. Note that the control flag is only applicable to
the four data buffers AFC_DAT0, AFC_DAT1, AFC_DAT2, and AFC_DAT3.
0 APB read from the write buffer.
1 APB read from the active buffer.
FETENV The flag enables the direct write operation to the active buffer. Note that the control flag is only applicable
to the four data buffers AFC_DAT0, AFC_DAT1, AFC_DAT2, and AFC_DAT3.
0 APB write to the write buffer.
1 APB write to the active buffer.
F_MODE The flag enables the force power up mode.
0 The force power up mode is not enabled.
1 The force power up mode is enabled.
I_MODE
The flag enables immediate mode. To enable immediate mode, force power up mode must also be enabled.
0 Immediate mode is not enabled.
1 Immediate mode is enabled.

7

6
AFCD
R/W

5

4

3

AFC_DAT0
2

1

0

The register stores the AFC value for the event 0 triggered by the TDMA timer in timer-triggered mode. When the
RDACT or FETENV bit (of the AFC_CON register) is set, the data transfer operates on the active buffer. When neither
flag is set, the data transfer operates on the write buffer.
AFCD The AFC sample for the D/A converter.

Co
nf
id
en
tia
l

Four registers (AFC_DAT0, AFC_DAT1, AFC_DAT2, AFC_DAT3) of the same type correspond to the event triggered by
the TDMA timer. The four registers are summarized in Table 65.
Register Address

Register Function

Acronym

AFC +0004h

AFC control value 0

AFC_DAT0

AFC +0008h

AFC control value 1

AFC_DAT1

AFC +000Ch

AFC control value 2

AFC_DAT2

AFC +0010h

AFC control value 3

AFC_DAT3

Table 65 AFC Data Registers

Immediate mode can only use AFC_DAT0. In this mode, only the control value in the AFC_DAT0 write buffer is used to
control the D/A converter. Unlike timer-triggered mode, the control value in AFC_DAT0 write buffer can bypass the
active buffer stage and be directly coupled to the output buffer in immediate mode. To use immediate mode, program the
AFC_DAT0 in advance and then enable immediate mode by setting the I_MODE flag in the AFC_CON register.

MT
K

The registers AFC_DATA0, AFC_DAT1, AFC_DAT2, and AFC_DAT3 have no initial values, thus the register must be
programmed before any AFC event takes place. The AFC value for the D/A converter, i.e., the output buffer value, is
initially 0 after power up before any event occurs.

538/616

MediaTek Inc. Confidential

AFC +0014h
Bit
Name
Type
Reset

15

14

AFC power up period
13

12

11

10

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

AFC_PUPER

9

8

7

6
PU_PER
R/W
ff

5

4

3

2

1

0

Stores the AFC power up period.

After hardware power up, the field is initialized to 255.

MT
K

Co
nf
id
en
tia
l

Re
lea
se

PU_PER

fo
r

This register stores the AFC power up period, which is 13 bits wide. The value ranges from 0 to 8191. If the I_MODE
or F_MODE flag is set, this register has no effect since the D/A converter is powered up continuously. If neither flag is set,
the register controls the power up duration of the D/A converter. During that period, the signal nPDN_DAC in Figure 54
is set to 1(power up).

539/616

MediaTek Inc. Confidential

9

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Baseband Front End

Re
lea
se

fo
r

Baseband Front End is a modem interface between TX/RX mixed-signal modules and digital signal processor (DSP). We
can divide this block into two parts (see Figure 56). The first is the uplink (transmitting) path, which converts bit-stream
from DSP into digital in-phase (I) and quadrature (Q) signals for TX mixed-signal module. The second part is the downlink
(receiving) path, which receives digital in-phase (I) and quadrature (Q) signals from RX mixed-signal module, performs
FIR filtering and then sends results to DSP. Figure 56 illustrates interconnection around Baseband Front End. In the figure
the shadowed blocks compose Baseband Front End. The uplink path is mainly composed of GMSK Modulator and uplink
parts of Baseband Serial Ports, and the downlink path is mainly composed of RX digital FIR filter and downlink parts of
Baseband Serial Ports. Baseband Serial Ports is a serial interface used to communicate with DSP. In addition, there is a set
of control registers in Baseband Front End that is intended for control of TX/RX mixed-signal modules, inclusive of
calibration of DC offset and gain mismatch of downlink analog-to-digital (A/D) converters as well as uplink
digital-to-analog (D/A) converters in TX/RX mixed-signal modules. The timing of bit streaming through Baseband Front
End is completely under control of TDMA timer. Usually only either of uplink and downlink paths is active at one moment.
However, both of the uplink and downlink paths will be active simultaneously when Baseband Front End is in loopback
mode.
When either of TX windows in TDMA timer is opened, the uplink path in Baseband Front End will be activated.
Accordingly components on the uplink path such as GMSK Modulator will be powered on, and then TX mixed-signal
module is also powered on. The subblock Baseband Serial Ports will sink TX data bits from DSP and then forward them to
GMSK Modulator. The outputs from GMSK Modulator are sent to TX mixed-signal module in format of I/Q signals.
Finally D/A conversions are performed in TX mixed-signal module and the output analog signal is output to RF module.

MT
K

Co
nf
id
en
tia
l

Similarly, while either of RX windows in TDMA timer is opened, the downlink path in Baseband Front End will be
activated. Accordingly components on the downlink path such as RX mixed-signal module and RX digital FIR filter are
then powered on. First A/D conversions are performed in RX mixed-signal module, and then the results in format of I/Q
signals are sourced to RX digital FIR filter. Low-Pass filtering is performed in RX digital FIR filter. Finally the results will
be sourced to DSP through Baseband Serial Ports.

540/616

MediaTek Inc. Confidential

"

#

$%

Figure 56 Block Diagram Of Baseband Front End

9.1

Baseband Serial Ports
General Description

"

#

Co
nf
id
en
tia
l

9.1.1

Re
lea
se

fo
r

!

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Baseband Front End communicates with DSP through the sub block of Baseband Serial Ports. Baseband Serial Ports
interfaces with DSP in serial manner. It implies that DSP must be configured carefully in order to have Baseband Serial
Ports cooperate with DSP core correctly.
If downlink path is programmed in bypass-filter mode (NOT bypass-filter loopback mode), behavior of Baseband Serial
Ports will completely be different from that in normal function mode. The special mode is for testing purpose. Please see
the subsequent section of Downlink Path for details.
TX and RX windows are under control of TDMA timer. Please refer to functional specification of TDMA timer for the
details how to open/close a TX/RX window. Opening/Closing of TX/RX windows has two major effects on Baseband Front
End. They are power on/off of corresponding components and data souring/sinking. It is worth noticing that Baseband
Serial Ports is only intended for sinking TX data from DSP or sourcing data to DSP. It does not involve power on/off of
TX/RX mixed-signal modules.

MT
K

As far as downlink path is concerned, if a RX window is opened by TDMA timer Baseband Front End will have RX
mixed-signal module proceed to make A/D conversion, RX digital filter proceed to perform filtering and Baseband Serial
Ports be activated to source data from RX digital filter to DSP no matter the data is meaningful or not. However, the
interval between the moment that RX mixed-signal module is powered on and the moment that data proceed to be dumped
by Baseband Serial Ports can be well controlled in TDMA timer. Lets denote as RX enable window the interval that RX
mixed-signal module is powered on and denote as RX dump window the interval that data is dumped by Baseband Serial
Ports. If the first samples from RX digital filter desire to be discarded, the corresponding RX enable window must cover the
corresponding RX dump window. Notes that RX dump windows always win over RX enable windows. It means that a RX

541/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
dump window will always raise a RX enable window. RX enable windows can be raised by TDMA timer or by
programming RX power-down bit in global control registers to be ‘0’. It is useful in debugging environment.

fo
r

Similarly, a TX dump window refers to the interval that Baseband Serial Ports sinks data from DSP on uplink path and a
TX enable window refers to the interval that TX mixed-signal module is powered on. A TX window controlled by TDMA
timer involves a TX dump window and a TX enable window simultaneously. The interval between the moment that TX
mixed-signal module is powered on and the moment that data proceed to be forwarded from DSP to GMSK modulator by
Baseband Serial Ports can be well controlled in TDMA timer. TX dump windows always win over TX enable windows. It
means that a TX dump window will always raise a TX enable window. TX enable windows can be raised by TDMA timer
or by programming TX power-down bit in global control registers to be ‘0’. It is useful in debugging environment.

9.1.2

Register Definitions

BFE+0000h
Bit

15

Re
lea
se

Accordingly, Baseband Serial Ports are only under control of TX/RX dump window. Note that if TX/RX dump window is
not integer multiplies of bit-time it will be extended to be integer multiplies of bit-time. For example, if TX/RX dump
window has interval of 156.25 bit-times then it will be extended as 157 bit-times in Baseband Serial Ports.

Base-band Common Control Register
14

13

12

11

10

9

8

Name
Type
Reset

7

6

5

4

3

BFE_CON
2

1

0
BCIE
N
R/W
0

This register is for common control of Baseband Front End. It consists of ciphering encryption control.

BFE +0004h
Bit

15

Name
Type
Reset

14

Co
nf
id
en
tia
l

BCIEN The bit is for ciphering encryption control. If the bit is set to ‘1’, XOR will performed on some TX bits (payload of
Normal Burst) and ciphering pattern bit from DSP, and then the result is forwarded to GMSK Modulator.
Meanwhile, Baseband Front End will generate signals to drive DSP ciphering process produce corresponding
ciphering pattern bits if the bit is set to ‘1’. If the bit is set to ‘0’, the TX bit from DSP will be forwarded to GMSK
modulator directly. Baseband Front End will not activate DSP ciphering process.
0 Disable ciphering encryption.
1 Enable ciphering encryption.

Base-band Common Status Register
13

12

11

10

9

8

7

BFE_STA
6

5

4

3
2
1
0
BULF BULE BDLF BDLE
S
N
S
N
RO
RO
RO
RO
0
0
0
0

MT
K

This register indicates status of Baseband Front End. Under control of TDMA timer, Baseband Front End can be driven in
several statuses. If downlink path is enabled, then the bit BDLEN will be ‘1’. Otherwise the bit BDLEN will be ‘0’. If
downlink parts of Baseband Serial Ports is enabled, the bit BDLFS will be ‘1’. Otherwise the bit BDLFS will be ‘0’. If
uplink path is enabled, then the bit BULEN will be ‘1’. Otherwise the bit BULEN will be 0. If uplink parts of Baseband
Serial Ports is enabled, the bit BULFS will be ‘1’. Otherwise the bit BULFS will be ‘0’. Once downlink path is enabled, RX
mixed-signal module will also be powered on. Similarly, once uplink path is enabled, TX mixed-signal module will also be
powered on. Furthermore, enabling Baseband Serial Ports for downlink path refers to dumping results from RX digital FIR
filter to DSP. Similarly, enabling Baseband Serial Ports for uplink path refers to forwarding TX bit from DSP to GMSK

542/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

9.2

Downlink Path (RX Path)

9.2.1

General Description

Re
lea
se

BDLEN Indicate if downlink path is enabled.
0 Disabled
1 Enabled
BDLFS Indicate if Baseband Serial Ports for downlink path is enabled.
0 Disabled
1 Enabled
BULEN Indicate if uplink path is enabled.
0 Disabled
1 Enabled
BULFS Indicate if Baseband Serial Ports for uplink path is enabled.
0 Disabled
1 Enabled

fo
r

modulator. BDLEN stands for “Baseband DownLink ENable”. BULEN stands for “Baseband UpLink ENable”. BDLFS
stands for “Baseband DownLink FrameSync”. BULFS stands for “Baseband UpLink FrameSync”.

On downlink path, the subblock between RX mixed-signal module and Baseband Serial Ports is RX Path. It mainly consists
of a digital FIR filter, two sets of multiplexing paths for loopback modes, interface for RX mixed-signal module and
interface for Baseband Serial Ports. The block diagram is shown in Figure 57.

Co
nf
id
en
tia
l

While RX enable windows are opened, RX Path will issue control signals to have RX mixed-signal module proceed to
make A/D conversion. As each conversion is finished, one set of I/Q signals will be latched. There exists a digital FIR filter
for these I/Q signals. The result of filtering will be dumped to Baseband Serial Ports whenever RX dump windows are
opened.
In addition to normal function, there are two loopback modes in RX Path. One is bypass-filter loopback mode, and the other
is through-filter loopback mode. They are intended for verification of DSP firmware and hardware. The bypass-filter
loopback mode refers to that RX digital FIR filter is not on the loopback path. However, the through-filter loopback mode
refers to that RX digital FIR filter is on the loopback path.
The I/Q swap functionality is used to swap I/Q channel signals from RX mixed-signal module before they are latched into
RX digital FIR filter. It is intended to provide flexibility for I/Q connection with RF modules.

MT
K

There is a special data path not shown in Figure 57. It is a data path from RX mixed-signal module to Baseband Serial
Ports. If downlink path is programmed in “Bypass RX digital FIR filter” mode, ADC outputs out of RX mixed-signal
module will be directed into Baseband Serial Ports directly. Therefore these data can be dumped into DSP and RX FIR
filtering will not be performed on them. Limited by bandwidth of the serial interface between Baseband Serial Ports and
DSP, only ADC outputs which are from either I-channel or Q-channel ADC can be dumped into DSP. Both of I- and
Q-channel ADC outputs cannot be dumped simultaneously. Which channel will be dumped is controlled by the register bit
SWAP of the register RX_CFG when downlink path is programmed in “Bypass RX digital FIR filter” mode. See register
definition below for details. The mode is for measurement of performance of A/D converters in RX mixed-signal module.

543/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

! #
+

''

,, '

.#

.#

.#
.#

* ! %
$

.#

.#

.#

.#
.#

.#

.#

.#

, ' ! #
(

& % '"(
'
(
)

* '#

Figure 57 Block Diagram Of RX Path

Register Definitions

BFE +0010h
Bit

15

& % '"(
'
(
)

Co
nf
id
en
tia
l

9.2.2

Re
lea
se

.#

.

fo
r

.#

, '
! #

RX Configuration Register

14

13

Name

LPDN

Type
Reset

R/W
0000

12

11

10

9

8

7

RX_CFG
6

5

4

3

2

1
0
BYPF SWA
LTR
P
R/W R/W
0
0

This register is for configuration of downlink path, inclusive of configuration of RX mixed-signal module and RX path in
Baseband Front End.

MT
K

SWAP The register bit is for control of whether I/Q channel signals need swap before they are input to Baseband Front
End. It provides flexibility of connection of I/Q channel signals between RF module and baseband module. The
register bit has another purpose when the register bit “BYPFLTR” is set to 1. Please see description for the register
bit “BYPFLTR”.
0 I- and Q-channel signals are not swapped
1 I- and Q-channel signals are swapped
BYPFLTR Bypass RX FIR filter control. The register bit is used to configure Baseband Front End in the state called
“Bypass RX FIR filter state” or not. Once the bit is set to ‘1’, RX FIR filter will be bypassed. That is, ADC outputs
of RX mixed-signal module that are 11-bit resolution and at sampling rate of 1.083MHz can be dumped into DSP
by Baseband Serial Ports and RX FIR filtering will not be performed on them. Limited by bandwidth of the serial
interface between Baseband Serial Ports and DSP, these ADC outputs are all from either I-channel or Q-channel
ADC. Both of I- and Q-channel ADC outputs cannot be dumped simultaneously. When the bit is set to ‘1’ and the

544/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

BFE +0014h
Bit
Name
Type
Reset

15

14

RX Control Register
13

12

11

10

9

8

Re
lea
se

fo
r

register bit “SWAP” is set to ‘0’, ADC outputs of I-channel will be dumped. When the bit is set to ‘1’ and the
register bit “SWAP” is set to ‘1’, ADC outputs of Q-channel will be dumped.
0 Not bypass RX FIR filter
1
Bypass RX FIR filter
LPDN Late power down control. RX mixed-signal module needs two power down signals. There must exist some delay
between them. The register field is used to control the late-arriving power-down signal.
0000 The delay between two power-down signals is one 13 MHz period.
0001 The delay between two power-down signals is two 13 MHz period.
0010 The delay between two power-down signals is three 13 MHz period.
…
0001 The delay between two power-down signals is 256 13 MHz period.

7

6

5

4

3

RX_CON
2

1
0
BLPEN[1:0]
R/W
0

This register is for control of downlink path, inclusive of control of RX mixed-signal module and RX path in Baseband
Front End module.

BFE +0020h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

BLPEN The register field is for loopback configuration selection in Baseband Front End.
00 Configure Baseband Front End in normal function mode
01 Configure Baseband Front End in bypass-filter loopback mode
10 Configure Baseband Front End in through-filter loopback mode
11 Reserved

RX Digital FIR Filter Coefficient Register 0
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF0
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

MT
K

The register is for RX digital FIR filter coefficient 0. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256. It will be applied on the latest and the oldest taps of 31 taps. The equivalent process flow of RX digital
FIR filtering is shown in Figure 58.

545/616

MediaTek Inc. Confidential

-!

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

.

'

,/

'

,

'

,0

'

, 1

'

, 2

/

!
8

1

9

Re
lea
se

# , !#
' 8

fo
r

0

2

3

4

5

, 3

'

, 2

'

, 1

'

,0

'

,

'

,/

Co
nf
id
en
tia
l

06

'

,

07

1/

'

Figure 58 Equivalent Process Flow Of RX Digital FIR Filtering

BFE +0024h
Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 1
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF1
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 1. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

RX Digital FIR Filter Coefficient Register 2

MT
K

BFE +0028h
Bit
Name
Type
Reset

15

14

13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

546/616

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF2
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The register is for RX digital FIR filter coefficient 2. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 3
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF3
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

fo
r

BFE +002Ch

The register is for RX digital FIR filter coefficient 3. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 4
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF4

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

Re
lea
se

BFE +0030h

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX FIR filter coefficient 4. It is coded in 2’s complement. That is, its maximum is 255 and its minimum
is –256.

BFE +0034h
Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 5
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

RX_FIR_COEF5
2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

BFE +0038h
Bit
Name
Type
Reset

15

14

Co
nf
id
en
tia
l

The register is for RX digital FIR filter coefficient 5. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

RX Digital FIR Filter Coefficient Register 6
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF6
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 6. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

BFE +003Ch
Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 7
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF7
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

MT
K

The register is for RX digital FIR filter coefficient 7. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

BFE +0040h
Bit
Name

15

14

RX Digital FIR Filter Coefficient Register 8
13

12

11

10

9
D9

8
D8

547/616

7
D7

6
D6

RX_FIR_COEF8
5
D5

4
D4

3
D3

2
D2

1
D1

0
D0

MediaTek Inc. Confidential

Type
Reset

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
R/W
0

R/W
0

R/W
0

The register is for RX digital FIR filter coefficient 8. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 9
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

RX_FIR_COEF9
5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

fo
r

BFE +0044h

0
D0
R/W
0

BFE +0048h
Bit
Name
Type
Reset

15

14

Re
lea
se

The register is for RX digital FIR filter coefficient 9. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

RX Digital FIR Filter Coefficient Register 10
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

RX_FIR_COEF1
0
2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 10. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 11
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

Co
nf
id
en
tia
l

BFE +004Ch

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

RX_FIR_COEF1
1
2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 11. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

BFE +0050h
Bit
Name
Type
Reset

15

14

RX_FIR_COEF1
2

RX Digital FIR Filter Coefficient Register 12
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 12. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX_FIR_COEF1
3

RX Digital FIR Filter Coefficient Register 13

MT
K

BFE +0054h

13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

548/616

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The register is for RX digital FIR filter coefficient 13. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX_FIR_COEF1
4

RX Digital FIR Filter Coefficient Register 14
13

12

11

10

9
D9
R/W
0

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

2
D2
R/W
0

1
D1
R/W
0

fo
r

BFE +0058h

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 14. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Bit
Name
Type
Reset

15

14

RX Digital FIR Filter Coefficient Register 15
13

12

11

10

9
D9
R/W
0

Re
lea
se

BFE +005Ch

8
D8
R/W
0

7
D7
R/W
0

6
D6
R/W
0

5
D5
R/W
0

4
D4
R/W
0

3
D3
R/W
0

RX_FIR_COEF1
5
2
D2
R/W
0

1
D1
R/W
0

0
D0
R/W
0

The register is for RX digital FIR filter coefficient 15. It is coded in 2’s complement. That is, its maximum is 255 and its
minimum is –256.

Uplink Path (TX Path)

9.3.1

General Description

Co
nf
id
en
tia
l

9.3

MT
K

The purpose of the uplink path inside Baseband Front End is to sink TX symbols, one bit for each symbol, from DSP, then
perform GMSK modulation on them, then perform offset cancellation on I/Q digital signals out of GMSK modulator, and
finally control TX mixed-signal module to make D/A conversion on I/Q signals out of GMSK Modulator with offset
cancellation. Accordingly, the uplink path is composed of uplink parts of Baseband Serial Ports, GSM Encryptor, GMSK
Modulator and Offset Cancellation. The block diagram of uplink path is shown in Figure 59. On uplink path, the content of
a burst, including tail bits, data bits, and training sequence bits is sent from DSP. Translated by GMSK Modulator, these bits
will become I/Q digital signals. Offset cancellation will be performed on these I/Q digital signals to compensate offset error
of D/A converters (DAC) in TX mixed-signal module. Finally the generated I/Q digital signals will be input to TX
mixed-signal module that contains two DAC for I/Q signal respectively. The details of each subblock will be described in
subsequent sections.

549/616

MediaTek Inc. Confidential

$% "
:,

:,,
. '

*

) ' +%

+

+

fo
r

*

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Figure 59 Block Diagram Of Uplink Path

9.3.2

Register Definitions

BFE +0060h
Bit

15

14

TX Configuration Register
13

12

11

10

9

8

Re
lea
se

TDMA timer having a quarter-bit timing accuracy gives the timing windows for uplink operation. Uplink operation is
controlled by TX enable window and TX dump window of TDMA timer. Usually TX enable window is opened earlier than
TX dump window. When TX enable window of TDMA timer is opened, uplink path in Baseband Front End will power on
GSK TX mixed-signal module and thus has it drive valid outputs to RF module. However, uplink parts of Baseband Serial
Ports still don’t sink data from DSP through the serial interface between Baseband Serial Ports and DSP until now. Uplink
parts of Baseband Serial Ports will not sink data from DSP until TX dump window of TDMA timer is opened.

7

6

5

4

3

TX_CFG
2

Type
Reset

Co
nf
id
en
tia
l

Name

1

0
APND
EN
R/W
0

This register is for configuration of uplink path, inclusive of configuration of TX mixed-signal module and TX path in
Baseband Front End.
APNDEN
0

1

Appending Bits Enable. The register bit is used to control the ending scheme of GMSK modulation.
Suitable for GPRS. If a TX enable window contains several TX dump window, then GMSK modulator will
still output in the intervals between two TX dump window and all 1’s will be fed into GMSK modulator. Note
that when the bit is set to ‘0’, the interval between the moment at which TX enable window is activated
and the moment at which TX dump window is activated must be multiples of one bit time.
Suitable for GSM only. After a TX dump window, GMSK modulator will only output for some bit time.

BFE +0064h
Bit

15

Name

14

TX Control Register
13

12

11

10

9

8

MT
K

Type
Reset

7

TX_CON
6

5

4

3

2

1
0
CALR IQSW
CEN
P
R/W R/W
0
0

This register is for control of uplink path, inclusive of control of TX mixed-signal module and TX path in Baseband Front
End.

550/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

CALRCEN Calibration for TX low-pass-filter Enable. The procedure to make calibration processing for smoothing filter
in BBTX mixed-signal module is as follows:
1. Write ‘1’ to the register bit CARLC in the register TX_CON of Baseband Front End in order to activate clock
required for calibration process. Initiate calibration process.
Write ‘1’ to the register bit STARTCALRC of Analog Chip Interface. Start calibration process.

3.

Read the register bit CALRCDONE of Analog Chip Interface. If read as ‘1’, then calibration process finished.
Otherwise repeat the step.

4.

Write ‘0’ to the register bit STARTCALRC of Analog Chip Interface. Stop calibration process.

5.

Write ‘0’ to the register bit CARLC in the register TX_CON of Baseband Front End in order to deactivate
clock required for calibration process. Terminate calibration process.

6.

The result of calibration process can be read from the register field CALRCOUT of the register
BBTX_AC_CON1 of Analog Chip Interface. Software can set the value to the register field CALRCSEL for
3-dB cutoff frequency selection of smoothing filter in DAC of BBTX of Analog Chip Interface.

Re
lea
se

fo
r

2.

0 Dectivate clock required for calibration process.
1 Activate clock required for calibration process.
IQSWP The register bit is for control of I/Q swapping. When the bit is set to ‘1’, phase on I/Q plane will rotate in inverse
direction.
0: I and Q are not swapped.
1: I and Q are swapped.

Bit
Name
Type
Reset

15

14

TX I/Q Channel Offset Compensation Register
13

12

11
10
OFFQ[5:0]
R/W
000000

9

8

7

Co
nf
id
en
tia
l

BFE +0068h

6

5

4

3
2
OFFI[5:0]
R/W
000000

TX_OFF
1

0

The register is for offset cancellation of I-channel DAC in TX mixed-signal module. It is for compensation of offset error
caused by I/Q-channel DAC in TX mixed-signal module. It is coded in 2’s complement, that is, with maximum 31 and
minimum –32.

MT
K

OFFI Value of offset cancellation for I-channel DAC in TX mixed-signal module
OFFQ Value of offset cancellation for Q-channel DAC in TX mixed-signal module

551/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

10 Timing Generator

Timing is the most critical issue in GSM/GPRS applications. The TDMA timer provides a simple interface for the MCU to
program all the timing-related events for receive event control, transmit event control, and timing adjustment. Detailed
descriptions are mentioned in Section 10.1.

10.1

TDMA timer

Re
lea
se

fo
r

In pause mode, the 13MHz reference clock may be switched off temporarily for the purpose of power saving and the
synchronization to the base-station is maintained by using a low power 32KHz crystal oscillator. The 32KHz oscillator is
not accurate and therefore it should be calibrated prior to entering pause mode. The calibration sequence, pause begin
sequence and the wake up sequence are described in Section 10.2.

Co
nf
id
en
tia
l

The TDMA timer unit is composed of three major blocks: Quarter bit counter, Signal generator and Event registers.

Figure 60 The block diagram of TDMA timer

By default, the quarter-bit counter continuously counts from 0 to the wrap position. In order to apply to cell synchronization
and neighboring cell monitoring, the wrap position can be changed by the MCU to shorten or lengthen a TDMA frame. The
wrap position is held in the TDMA_WRAP register and the current value of the TDMA quarter bit counter may be read by
the MCU via the TDMA_TQCNT register.
The signal generator handles the overall comparing and event-generating processes. When a match has occurred between
the quarter bit counter and the event register, a predefined control signal is generated. These control signals may be used for
on-chip and off-chip purposes. Signals that change state more than once per frame make use of more than one event
register.

MT
K

The event registers are programmed to contain the quarter bit position of the event that is to occur. The event registers are
double buffered. The MCU writes into the first register, and the event TDMA_EVTVAL transfers the data from the write
buffer to the active buffer, which is used by the signal generator for comparison with the quarter bit count. The
TDMA_EVTVAL signal itself may be programmed at any quarter bit position. These event registers could be classified into
four groups:
On-chip Control Events
TDMA_EVTVAL

552/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This event allows the data values written by the MCU to pass through to the active buffers.

TDMA_WRAP
TDMA quarter bit counter wrap position. This sets the position at which the TDMA quarter bit counter resets back to zero.
The default value is 4999, changing this value will advance or retard the timing events in the frame following the next
TDMA_EVTVAL signal.

fo
r

TDMA_DTIRQ
DSP TDMA interrupt requests. DTIRQ triggers the DSP to read the command from the MCU/DSP Shard RAM to schedule
the activities that will be executed in the current frame.
TDMA_CTIRQ1/CTIRQ2
MCU TDMA interrupt requests.
TDMA_AUXADC [1:0]

Re
lea
se

This signal triggers the monitoring ADC to measure the voltage, current, temperature, device id etc..
TDMA_AFC [3:0]
This signal powers up the automatic frequency control DAC for a programmed duration after this event.
Note: For both MCU and DSP TDMA interrupt requests, these signals are all active Low during one quarter bit duration
and they should be used as edge sensitive events by the respective interrupt controllers.
On-chip Receive Events

TDMA_BDLON [5:0]
These registers are a set of six which contain the quarter bit event that initiates the receive window assertion sequence
which powers up and enables the receive ADC, and then enables loading of the receive data into the receive buffer.

Co
nf
id
en
tia
l

TDMA_BDLOFF [5:0]
These registers are a set of six which contain the quarter bit event that initiates the receive window de-assertion sequence
which disables loading of the receive data into the receive buffer, and then powers down the receive ADC.
TDMA_RXWIN[5:0]
DSP TDMA interrupt requests. TDMA_RXWIN is usually used to initiate the related RX processing including two modes.
In single-shot mode, TDMA_RXWIN is generated when the BRXFS signal is de-asserted. In repetitive mode,
TDMA_RXWIN will be generated both regularly with a specific interval after BRXFS signal is asserted and when the
BRXFS signal is de-asserted.

Figure 61 The timing diagram of BRXEN and BRXFS

Note: TDMA_BDLON/OFF event registers, together with TDMA_BDLCON register, generate the corresponding BRXEN
and BRXFS window used to power up/down baseband downlink path and control the duration of data transmission to the
DSP, respectively.

MT
K

On-chip Transmit Events
TDMA_APC [6:0]
These registers initiate the loading of the transmit burst shaping values from the transmit burst shaping RAM into the
transmit power control DAC.
TDMA_BULON [3:0]

553/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This register contains the quarter bit event that initiates the transmit window assertion sequence which powers up the
modulator DAC and then enables reading of bits from the transmit buffer into the GMSK modulator.

fo
r

TDMA_BULOFF [3:0]
This register contains the quarter bit event that initiates the transmit window de-assertion sequence which disables the
reading of bits from the transmit buffer into the GMSK modulator, and then power down the modulator DAC.

Re
lea
se

Figure 62 The timing diagram of BTXEN and BTXFS

Note: TDMA_BULON/OFF event registers, together with TDMA_BULCON1, TDMA_BULCON2 register, generate the
corresponding BTXEN, BTXFS and APCEN window used to power up/down the baseband uplink path, control the duration
of data transmission from the DSP and power up/down the APC DAC, respectively.
Off-chip Control Events
TDMA_BSI [15:0]
The quarter bit positions of these 16 BSI events are used to initiate the transfer of serial words to the transceiver and
synthesizer for gain control and frequency adjustment.

10.1.1

Co
nf
id
en
tia
l

TDMA_BPI [21:0]
The quarter bit positions of these 22 BPI events are used to generate changes of state on the output pins to control the
external radio components.

Register Definitions

TDMA_EVTENA
0

TDMA+0150h Event Enable Register 0
Bit

15

14

13

12

11

10

9

8

7

6

5

4

3

Name AFC3 AFC2 AFC1 AFC0 BDL5 BDL4 BDL3 BDL2 BDL1 BDL0
Type R/W
Reset
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

2
1
0
CTIRQ CTIRQ DTIR
2
1
Q
R/W R/W R/W
0
0
0

MT
K

DTIRQ Enable TDMA_DTIRQ
CTIRQn
Enable TDMA_CTIRQn
AFCn Enable TDMA_AFCn
BDLn Enable TDMA_BDLONn and TDMA_BDLOFFn
For all these bits,
0 function is disabled
1 function is enabled

TDMA_EVTENA
1

TDMA+0154h Event Enable Register 1
Bit

15

14

13

12

11

10

9

8

554/616

7

6

5

4

3

2

1

0

MediaTek Inc. Confidential

BUL3 BUL2 BUL1 BUL0
R/W R/W R/W R/W
0
0
0
0

APC6 APC5 APC4 APC3 APC2 APC1 APC0
R/W R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0
0

APCn Enable TDMA_APCn
BULn Enable TDMA_BULONn and TDMA_BULOFFn
For all these bits,
0 function is disabled
1 function is enabled

TDMA_EVTENA
2

TDMA +0158h Event Enable Register 2

BSIn

8
BSI8
R/W
0

BSI event enable control
0 Disable TDMA_BSIn
1 Enable TDMA_BSIn

TDMA +015Ch Event Enable Register 3

8
BPI8
R/W
0

7
BPI7
R/W
0

Co
nf
id
en
tia
l

Bit
15
14
13
12
11
10
9
Name BPI15 BPI14 BPI13 BPI12 BPI11 BPI10 BPI9
Type R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0

7
BSI7
R/W
0

6
BSI6
R/W
0

5
BSI5
R/W
0

4
BSI4
R/W
0

3
BSI3
R/W
0

Re
lea
se

Bit
15
14
13
12
11
10
9
Name BSI15 BSI14 BSI13 BSI12 BSI11 BSI10 BSI9
Type R/W R/W R/W R/W R/W R/W R/W
Reset
0
0
0
0
0
0
0

fo
r

Name GPRS
Type R/W
Reset
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

6
BPI6
R/W
0

5
BPI5
R/W
0

4
BPI4
R/W
0

3
BPI3
R/W
0

15

14

13

12

BPIn

BPI event enable control
0 Disable TDMA_BPIn
1 Enable TDMA_BPIn

11

10

9

8

7

6

14

13

12

11

AUX

Auxiliary ADC event enable control
0 Disable Auxiliary ADC event
1 Enable Auxiliary ADC event

10

9

8

MT
K

15

555/616

7

0
BSI0
R/W
0

TDMA_EVTENA
3
2
BPI2
R/W
0

1
BPI1
R/W
0

0
BPI0
R/W
0

5
4
3
2
1
0
BPI21 BPI20 BPI19 BPI18 BPI17 BPI16
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

TDMA_EVTENA
5

TDMA+0164h Event Enable Register 5
Bit
Name
Type
Reset

1
BSI1
R/W
0

TDMA_EVTENA
4

TDMA+0160h Event Enable Register 4
Bit
Name
Type
Reset

2
BSI2
R/W
0

6

5

4

3

2

1
0
AUX1 AUX0
R/W R/W
0
0

MediaTek Inc. Confidential

TDMA_WRAPOF
S

TDMA +0170h Qbit Timer Offset Control Register
Bit
Name
Type
Reset

15

13

12

11

10

9

8

7

6

5

TOI

This register defines the value used to advance the Qbit timer in unit of 1/4 quarter bit; the timing advance will be
take place as soon as the TDMA_EVTVAL is occurred, and it will be cleared automatically.

14

13

12

11

10

9

8

7
6
TQ_BIAS[13:0]
R/W
0

5

4

3

Re
lea
se

15

3

2

1
0
TOI[1:0]
R/W
0

TDMA_REGBIA
S

TDMA +0174h Qbit Timer Biasing Control Register
Bit
Name
Type
Reset

4

fo
r

14

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

2

1

0

TQ_BIAS This register defines the Qbit offset value which will be added to the registers being programmed. It only
takes effects on AFC, BDLON/OFF, BULON/OFF, APC, AUXADC, BSI and BPI event registers.

TDMA +0180h DTX Control Register
Bit
Name
Type

15

13

12

11

10

9

8

7

DTX

DTX flag is used to disable the associated transmit signals
0 BULON0, BULOFF0, APC_EV0 & APC_EV1 are controlled by TDMA_EVTENA1 register
1 BULON0, BULOFF0, APC_EV0 & APC_EV1 are disabled

Co
nf
id
en
tia
l

14

6

5

4

TDMA_DTXCON

3
2
1
0
DTX3 DTX2 DTX1 DTX0
R/W R/W R/W R/W

TDMA +0184h Receive Interrupt Control Register
Bit
15
14
13
12
11
10
Name MOD5 MOD4 MOD3 MOD2 MOD1 MOD0
Type R/W R/W R/W R/W R/W R/W

9

8

7

TDMA_RXCON
6

5
4
RXINTCNT[9:0]
R/W

3

2

1

0

RXINTCNT TDMA_RXWIN interrupt generation interval in quarter bit unit
MODn Mode of Receive Interrupts
0 Single shot mode for the corresponding receive window
1 Repetitive mode for the corresponding receive window

TDMA +0188h Baseband Downlink Control Register
Bit
Name
Type

15

14

13

12
11
ADC_ON
R/W

10

9

8

7

TDMA_BDLCON
6

5

4

3
2
ADC_OFF
R/W

1

0

MT
K

ADC_ON BRXEN to BRXFS setup up time in quarter bit unit.
ADC_OFF BRXEN to BRXFS hold up time in quarter bit unit.

556/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

TDMA_BULCON
1

TDMA +018Ch Baseband Uplink Control Register 1
15

14

13

12
11
DAC_ON
R/W

10

9

8

7

6

5

DAC_ON BTXEN to BTXFS setup up time in quarter bit unit.
DAC_OFF BTXEN to BTXFS hold up time in quarter bit unit.

14

13

12

11

10

9

8

7

1

0

6

5

4
3
APC_HYS
R/W

2

1

0

Re
lea
se

15

3
2
DAC_OFF
R/W

TDMA_BULCON
2

TDMA +0190h Baseband Uplink Control Register 2
Bit
Name
Type

4

fo
r

Bit
Name
Type

APC_HYS APCEN to BTXEN hysteresis time in quarter bit unit.
Type

Width

Reset Value

Name

Description

+0000h
+0004h
+0008h
+000Ch
+0010h
+0014h
+0018h
+0020h
+0024h
+0028h
+002Ch
+0030h
+0034h
+0038h
+003Ch
+0040h
+0044h
+0048h
+004Ch
+0050h
+0054h
+0058h
+005Ch
+0060h
+0064h
+0068h
+006Ch
+0070h
+0074h
+0078h
+007Ch
+0090h

R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W

[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]

—
0x1387
0x1387
0x0000
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—

TDMA_TQCNT
TDMA_WRAP
TDMA_WRAPIMD
TDMA_EVTVAL
TDMA_DTIRQ
TDMA_CTIRQ1
TDMA_CTIRQ2
TDMA_AFC0
TDMA_AFC1
TDMA_AFC2
TDMA_AFC3
TDMA_BDLON0
TDMA_BDLOFF0
TDMA_BDLON1
TDMA_BDLOFF1
TDMA_BDLON2
TDMA_BDLOFF2
TDMA_BDLON3
TDMA_BDLOFF3
TDMA_BDLON4
TDMA_BDLOFF4
TDMA_BDLON5
TDMA_BDLOFF5
TDMA_BULON0
TDMA_BULOFF0
TDMA_BULON1
TDMA_BULOFF1
TDMA_BULON2
TDMA_BULOFF2
TDMA_BULON3
TDMA_BULOFF3
TDMA_APC0

MT
K

Co
nf
id
en
tia
l

Address

557/616

Read quarter bit counter
Latched Qbit counter reset position
Direct Qbit counter reset position
Event latch position
DSP software control
MCU software control 1
MCU software control 2
The 1st AFC control
The 2nd AFC control
The 3rd AFC control
The 4th AFC control
Data serialization of the 1st RX block
Data serialization of the 2nd RX block
Data serialization of the 3rd RX block
Data serialization of the 4th RX block
Data serialization of the 5th RX block
Data serialization of the 6th RX block
Data serialization of the 1st TX slot
Data serialization of the 2nd TX slot
Data serialization of the 3rd TX slot
Data serialization of the 4th TX slot
The 1st APC control
MediaTek Inc. Confidential

TDMA_APC1
TDMA_APC2
TDMA_APC3
TDMA_APC4
TDMA_APC5
TDMA_APC6
TDMA_BSI0
TDMA_BSI1
TDMA_BSI2
TDMA_BSI3
TDMA_BSI4
TDMA_BSI5
TDMA_BSI6
TDMA_BSI7
TDMA_BSI8
TDMA_BSI9
TDMA_BSI10
TDMA_BSI11
TDMA_BSI12
TDMA_BSI13
TDMA_BSI14
TDMA_BSI15
TDMA_BPI0
TDMA_BPI1
TDMA_BPI2
TDMA_BPI3
TDMA_BPI4
TDMA_BPI5
TDMA_BPI6
TDMA_BPI7
TDMA_BPI8
TDMA_BPI9
TDMA_BPI10
TDMA_BPI11
TDMA_BPI12
TDMA_BPI13
TDMA_BPI14
TDMA_BPI15
TDMA_BPI16
TDMA_BPI17
TDMA_BPI18
TDMA_BPI19
TDMA_BPI20
TDMA_BPI21
TDMA_AUXEV0
TDMA_AUXEV1
TDMA_EVTENA0
TDMA_EVTENA1
TDMA_EVTENA2
TDMA_EVTENA3

The 2nd APC control
The 3rd APC control
The 4th APC control
The 5th APC control
The 6th APC control
The 7th APC control
BSI event 0
BSI event 1
BSI event 2
BSI event 3
BSI event 4
BSI event 5
BSI event 6
BSI event 7
BSI event 8
BSI event 9
BSI event 10
BSI event 11
BSI event 12
BSI event 13
BSI event 14
BSI event 15
BPI event 0
BPI event 1
BPI event 2
BPI event 3
BPI event 4
BPI event 5
BPI event 6
BPI event 7
BPI event 8
BPI event 9
BPI event 10
BPI event 11
BPI event 12
BPI event 13
BPI event 14
BPI event 15
BPI event 16
BPI event 17
BPI event 18
BPI event 19
BPI event 20
BPI event 21
Auxiliary ADC event 0
Auxiliary ADC event 1
Event Enable Control 0
Event Enable Control 1
Event Enable Control 2
Event Enable Control 3

fo
r

—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
0x0000
0x0000
0x0000
0x0000

Re
lea
se

[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[13:0]
[15:0]
[15:0]
[15:0]
[15:0]

Co
nf
id
en
tia
l

R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W

MT
K

+0094h
+0098h
+009Ch
+00A0h
+00A4h
+00A8h
+00B0h
+00B4h
+00B8h
+00BCh
+00C0h
+00C4h
+00C8h
+00CCh
+00D0h
+00D4h
+00D8h
+00DCh
+00E0h
+00E4h
+00E8h
+00ECh
+0100h
+0104h
+0108h
+010Ch
+0110h
+0114h
+0118h
+011Ch
+0120h
+0124h
+0128h
+012Ch
+0130h
+0134h
+0138h
+013Ch
+0140h
+0144h
+0148h
+014Ch
+01A0h
+01A4h
+01B0h
+01B4h
+0150h
+0154h
+0158h
+015Ch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

558/616

MediaTek Inc. Confidential

R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W

[5:0]
[0]
[1:0]
[13:0]
[3:0]
[15:0]
[15:0]
[15:0]
[7:0]

0x0000
0x0000
0x0000
0x0000
—
—
—
—
—

TDMA_EVTENA4
TDMA_EVTENA5
TDMA_WRAPOFS
TDMA_REGBIAS
TDMA_DTXCON
TDMA_RXCON
TDMA_BDLCON
TDMA_BULCON1
TDMA_BULCON2

Slow Clocking Unit

Co
nf
id
en
tia
l

10.2

Re
lea
se

Table 66 TDMA Timer Register Map

Event Enable Control 4
Event Enable Control 5
TQ Counter Offset Control Register
Biasing Control Register
DTX Control Register
Receive Interrupt Control Register
Downlink Control Register
Uplink Control Register 1
Uplink Control Register 2

fo
r

+0160h
+0164h
+0170h
+0174h
+0180h
+0184h
+0188h
+018Ch
+0190h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Figure 63 The block diagram of the slow clocking unit

The slow clocking unit is provided to maintain the synchronization to the base-station timing using a 32KHz crystal
oscillator while the 13MHz reference clock is switched off. As shown in Figure 63, this unit is composed of frequency
measurement unit, pause unit, and clock management unit.
Because of the inaccuracy of the 32KHz oscillator, a frequency measurement unit is provided to calibrate the 32KHz crystal
taking the accurate 13MHz source as the reference. The calibration procedure always takes place prior to the pause period.

MT
K

The pause unit is used to initiate and terminate the pause mode procedure and it also works as a coarse time-base during the
pause period.
The clock management unit is used to control the system clock while switching between the normal mode and the pause
mode. SRCLKENA is used to turn on/off the clock squarer, DSP PLL and off-chip TCVCXO. CLOCK_OFF signal is used

559/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
for gating the main MCU and DSP clock, and VCXO_OFF is used as the acknowledgement signal of the CLOCK_OFF
request.

10.2.1

Register Definitions

TDMA +0218h Slow clocking unit control register
Bit

15

14

13

12

11

10

9

8

7

SM_CON

6

5

4

3

1
0
PAUSE_STA FM_STAR
RT
T
W
W
0
0

fo
r

Name

2

Type
Reset

Re
lea
se

FM_START
Initiate the frequency measurement procedure
PAUSE_STARTInitiate the pause mode procedure at the next timer wrap position

TDMA +0220h Slow clocking unit status register
Bit

15

14

13

12

Name
Type
Bit

7
6
5
4
PAUSE_RQS
SETTLE_CP
Name
PAUSE_CPL PAUSE_INT
L
T
Type
R
R
R
R

SM_STA

11

10

9

3

2

1

8
PAUSE_ABO
RT
R
0

FM_CPL

FM_RQST

R

R

Co
nf
id
en
tia
l

FM_RQST
Frequency measurement procedure is requested
FM_CPL
Frequency measurement procedure is completed
PAUSE_RQST Pause mode procedure is requested
PAUSE_INT
Asynchronous wake up from pause mode
PAUSE_CPL Pause period is completed
SETTLE_CPL Settling period is completed
PAUSE_ABORT
Pause mode is aborted because of the reception of interrupt prior to entering pause mode

TDMA +022Ch Slow clocking unit configuration register
Bit
Name
Type
Reset

15

13

FM
SM
KP
EINT
RTC
MSDC

Enable interrupt generation upon completion of frequency measurement procedure
Enable interrupt generation upon completion of pause mode procedure
Enable asynchronous wake-up from pause mode by key press
Enable asynchronous wake-up from pause mode by external interrupt
Enable asynchronous wake-up from pause mode by real time clock interrupt
Enable asynchronous wake-up from pause mode by memory card insertion interrupt

MT
K

14

12

11

10

9

8

7

TDMA +0300h Power-down indication of DSP ROM
Bit
Name
Type

15

14

13

12

6

SM_CNF
5
4
MSDC RTC
R/W R/W
0
0

3
EINT
R/W
0

2
KP
R/W
0

1
SM
R/W
1

0
FM
R/W
1

DSPROMPD

11
10
9
8
7
6
5
4
3
2
1
0
PD_11 PD_10 PD_9 PD_8 PD_7 PD_6 PD_5 PD_4 PD_3 PD_2 PD_1 PD_0
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W

560/616

MediaTek Inc. Confidential

Reset

0

0

0

0

0

0

0

0

0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
0

0

0

Re
lea
se

fo
r

PD_X Power-down indication of page X of DSP CM ROM, X = 5:0
0 power down disabled
1 power down enabled
PD_X Power-down indication of page X of DSP PM ROM, X = 11:6
0 power down disabled
1 power down enabled
This register is for controlling the VIA-ROM, which requires a reset signal whenever the ROM is wakened up from
power-down mode. It means that as long as MCU plans to interrupt DSP from slow idle, the register should be programmed
in advance by 15us, otherwise the read data would be unknown. Total of 12 pages are programmable and is to be reserveed
for future usage, by which the MCU can dynamically wake-up only the pages that needs to be accessed. However, for now,
MCU can just simply program the register to all one’s or all zero’s. In view of the hardware, the 12 bits are ANDED as a
power-down indication. As the indication turns from high to low, a counter will be triggered to count the 15-us interval
according to the MCU clock, then a negative pulse will be generated as the ROM reset.
Address

Type

Width

Reset Value

Name

+0200h
+0204h
+0208h
+020Ch
+0210h
+0214h
+0218h
+021Ch
+0220h
+0224h
+0228h
+022Ch

R/W
R/W
R/W
R
R
R
W
R
R/W
R
R
R/W

[2:0]
[15:0]
[13:0]
[2:0]
[15:0]
[13:0]
[1:0]
[7:3,1:0]
[15:0]
[9:0]
[15:0]
[4:0]

—
—
—
—
—
—

SM_PAUSE_M
SM_PAUSE_L
SM_CLK_SETTLE
SM_FINAL_PAUSE_M
SM_FINAL_PAUSE_L
SM_QBIT_START
SM_CON
SM_STA
SM_FM_DURATION
SM_FM_RESULT_M
SM_FM_RESULT_L
SM_CNF

—
—
—

Co
nf
id
en
tia
l

10.2.2

0x0000
0x0000

Description

0x0000

MSB of pause duration
16 LSB of pause duration
Off-chip VCXO settling duration
MSB of final pause count
16 LSB of final pause count
TQ_ COUNT value at the start of the pause
SM control register
SM status register
32KHz measurement duration
10 MSB of frequency measurement result
16 LSB of frequency measurement result
SM configuration register

Frequency Measurement

Figure 64 Block Diagram of Frequency Measurement Unit

MT
K

The MCU writes into the SM_FM_DURATION register the number of clock cycles during which the 32768 Hz clock will
be measured. Then, the MCU sets the FM_START bit in the SM_CON register, the hardware sets the FM_RQST flag and
resets the FM_CPL flag automatically, and the 32kHz and 13MHz counters are simultaneously started from zero.
When the 32kHz counter reaches the terminal value determined by the SM_FM_DURATION register, the current value of
the 13MHz counter is stored in the SM_FM_RESULT register, the counters are stopped, the FM_RQST is reset, and the
FM_CPL flag is set.

561/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
The SM_FM_DURATION is 16 bits wide, and the 32K counter counts 2 × ( N + 1) cycles of 32768Hz. This gives a
maximum of almost 4.00s measurement duration.
Measured _ frequency =

10.2.3

2 × ( SM _ FM _ DURATION + 1) × 13 × 10 6
SM _ FM _ RESULT

Pause Mode Operation

fo
r

The MCU writes the pause and settling time into the SM_PAUSE_M, SM_PAUSE_L and SM_CLK_SETTLE registers and
the sum of the pause time and settling time must be as close as possible to the TDMA frame boundary, taking into account
of the frequency measurement result.

Re
lea
se

The MCU should set the PAUSE_START bit ahead of the TDMA_EVTVAL event. The hardware sets the PAUSE_RQST
flag and resets the PAUSE_INT, PAUSE_CPL, SETTLE_CPL, PAUSE_ABORT flags automatically, and the pause mode
operation will be initiated at the next timer wrap position.
When the pause duration reaches the programmed terminal value or the asynchronous wake up event is received, the pause
mode operation is ended/stopped/aborted and the corresponding flag is set (PAUSE_CPL, PAUSE_INT and
PAUSE_ABORT). Then, the MCU calculates the timing offset and adjusts the TDMA_WRAPIMD position accordingly.
The number of quarter bit time elapsed during the pause operation is:

Nb _ quarter _ bit = Kqbit × ( SM _ FINAL _ PAUSE + SM _ CLK _ SETTLE ) − ∆qbit
∆qbit = TQ _ WRAP − SM _ QBIT _ START

32k _ period _ duration
SM _ FM _ RESULT
=
quarter _ bit _ duration 24 × ( SM _ FM _ DURATION + 1)

MT
K

Co
nf
id
en
tia
l

Kqbit =

562/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

11 Power, Clocks and Reset

fo
r

This chapter describes the power, clock and reset management functions provided by MT6228. Together with Power
Management IC (PMIC), MT6228 offers both fine and coarse resolutions of power control through software programming.
With this efficient method, the developer can turn on selective resources accordingly in order to achieve optimized power
consumption. The operating modes of MT6228 as well as main power states provided by the PMIC are shown in Figure
65.

Active Mode

Software
Program

MT6228
Processors

Power On

Power Down
Mode

MT6228
Peripherals
Active State

Software
Program

Software
Program

Active Mode

Pause Mode

MT6228

Standby State

Co
nf
id
en
tia
l

Phone Power State
MT6228 Operating Mode

Sleep Mode

Re
lea
se

Power On

Figure 65 Major Phone Power States and Operating Modes for MT6228 based terminal

11.1
11.1.1

B2PSI

General Description

MT
K

MT6228 uses a 3-wire B2PSI interface to connect to PMIC. This bi-directional serial bus interface allows baseband to
write to or read from PMIC. The bus protocol utilizes a 16-bit format. B2PSICK is the serial bus clock and is driven by
the master. B2PSIDAT is the serial data; master or slave can drive it. B2PSICS is the bus selection signal. Once the
B2PSICS goes LOW, baseband starts to transfer the 4 register bits followed by a read/write bit, then waits 3 clock cycles
for the PMIC B2PSI state machine to decode the operation for the next 8 data bits. The state machine should count 16
clocks to complete the data transfer.

563/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

B 2 P S IC K

R3

R2

R1

R0

W

X

R e ce iv e
In d e x

B 2 P S IC S

X

X

D7

D6

R eg iste r
D ec o d e

D5

D4

D3

D2

B 2 P S IC K

R3

R2

R1

R0

R

X

R e ce iv e
In d e x

B 2 P S IC S

X

X

Register Definitions

B2PSI+0000h B2PSI data register
15

14

13

12

11

10

D6

9

D5

D4

D3

D2

R e a d R eg iste r C o n t en t

Figure 66 B2PSI bus timing

Bit
Name
Type
Reset

D7

R eg iste r
D ec o d e

T > 10 0nsec

11.1.2

D0

D1

D0

Re
lea
se

B 2 P S ID A T

D1

W rite R eg iste r C o n t en t

fo
r

B 2 P S ID A T

8
7
6
B2PSI_DATA [15:0]
R/W
0

5

4

3

B2PSI_DATA
2

1

0

Co
nf
id
en
tia
l

B2PSI_DATA The B2PSI DATA format contains 4 bit register + 3 bit do not care + write / read bit + 8 bit data.
0 Read operation
1 Write operation
To prevent a writing error, B2PSI_DATA must be set to 8216h before the actual data write.

B2PSI +0008h B2PSI baud rate divider register
Bit
Name
Type
Reset

15

14

13

12

B2PSI_DIV B2PSI clock rate divisor.

11

10

9

B2PSI _DIV

8
7
6
B2PSI _DIV [15:0]
R/W
0

5

4

3

15

Name

14

13

12

1

0

B2PSICK = system clock rate / div.

B2PSI+0010h B2PSI status register
Bit

2

11

10

9

8

MT
K

Type
Reset

7

B2PSI_STAT
6

5

4

3

2

1
0
WRIT
READ
E_SU
_REA
CCES
DT
S
RC
RC
0
0

READ_READY Read data ready.
0 Read data is not ready yet.
1 Read data is ready. The bit is cleared by reading B2PSI_STAT register or if B2PSI initializes a new transmit.
564/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
WRITE_SUCCESS B2PSI write successfully.
0 B2PSI write is not finished yet.
1 B2PSI write has finished. The bit is cleared by reading B2PSI_STAT register or if B2PSI initializes a new
transmit.

B2PSI+0014h B2PSI CS to CK time register
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1
0
B2PSI_TIME
R/W
0

fo
r

Bit
Name
Type
Reset

B2PSI_TIME

11.2

Re
lea
se

B2PSI_TIME The time interval that first B2PSICK is started after the B2PSICS is active low.
Time interval = 1/system clock * B2PSI_time.

Clocks

There are two major time bases in MT6228. The faster one is the 13 MHz clock originating from an off-chip
temperature-compensated voltage controlled oscillator (TCVCXO) that can be either 13 MHz or 26 MHz. This signal is
the input from the SYSCLK pad that is then converted to the square-wave signal by the clock squarer. The other time base
is the 32768 Hz clock generated by an on-chip oscillator connected to an external crystal. Figure 67 shows the clock
sources as well as their utilizations inside the chip.
104MHz ~
13MHz

Co
nf
id
en
tia
l

DSP
DCM

DSPCLK

ARMCLK

MCU_DIV2

MD PLL

SYSCLK

/2

Clock
Squarer

CLKSQ_PLD

32KHz
OSC

XIN

104MHz ~
13MHz

ARM
DCM

MCU
DCM

MCU

MCU Clock

AHB Bus Clock
52MHz ~
AHB
13MHz

104MHz

MPLL

MCUCLK
USB PLL

CLKSEL

APB Bus Clock

USB Clock

TV Clock
TV PLL

CLKSEL
32KHz Clock

XOUT

MT
K

MT6228 I/O

MT6228 Core

Figure 67 Clock distributions inside the MT6228.

565/616

MediaTek Inc. Confidential

11.2.1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

32.768 KHz Time Base

The 32768 Hz clock is always running. It is mainly used as the time base of the Real Time Clock (RTC) module, which
maintains time and date with counters. Therefore, the 32768 Hz oscillator and the RTC module are powered by separate
voltage supplies that are not be powered down when the other power supplies are.

11.2.2

fo
r

In low power mode, the 13 MHz time base is turned off, so the 32768 Hz clock is employed to update critical TDMA timer
and Watchdog Timer. This time base is also used to clock the keypad scanner logic.

13 MHz Time Base

A 1/2-divider, for MCU Clock, exists to allow usage of either 26 or 13 MHz TCVCXO as clock input.

Re
lea
se

Three phase-locked loops (MDPLL, TPLL and UPLL) are used to generate four primary clocks, MCU_CLOCK,
DSP_CLOCK, USB_CLOCK and TV_CLOCK, and to clock modules in the MCU Clock Domain and DSP Clock Domain,
USB and TV Encoder, respectively. These PLLs require no off-chip components for operations and can be turned off
independently in order to save power. After power-on, all the PLLs are off by default and the source clock signal is
selected through multiplexers. The software takes care of the PLL lock time while changing the clock selections. The
PLLs and their usages are listed below.

Co
nf
id
en
tia
l

MDPLL provides the MCU system clock (MCU_CLOCK) and DSP system clock (DSP_CLOCK. DPLL).
MCU_CLOCK clocks the MCU core, MCU memory system and MCU peripherals as well.
DSP_CLOCK clocks DSP core and DSP-related modules. MDPLL can be programmed to provide
1X to 8X output of 13 MHz reference. However, because of the employment of DCM (dynamic
clock manager), the output of MDPLL are set as 104 MHz. The clock rates of MCU system and
DSP system can only be changed by programming the clock rate setting of MCU DCM and DSP
DCM.
UPLL provides the USB clock, USB_CLOCK. The UPLL input is a 4 MHz clock, which comes from 104 MHz
clock generated by MDPLL and then divided by 26. UPLL pumps the input clock source 12 times to generate 48
MHz for USB module.
TPLL provides the TV encoder clock, TV_CLOCK. The TPLL input is a 3 MHz clock, which comes from the
48 MHz clock generated by UPLL and then divided by 16. TPLL pumps the input clock source 9 times to
generate 27 MHz for TV encoder.
Note that PLLs need some time to become stable after being powered up. The software takes care of the PLL lock time
before switching them to the proper frequency. Usually, a software loop longer than the PLL lock time is employed to
deal with the problem.
For power management, the MCU software program may stop MCU Clock by setting the Sleep Control Register.
interrupt requests to MCU can terminate the sleep mode, and thus returning MCU to the running mode.

Any

MT
K

AHB can also be stopped by setting the Sleep Control Register. However, the behavior of AHB in sleep mode is a little
different from that of MCU. After entering Sleep Mode, it can be temporarily waken up by any “hreq” (bus request), and
then go back to sleep automatically after all “hreqs” de-assert. Therefore, any transactions can still take place as usual
during AHB sleep mode, and power is saved when there are no transactions. The penalty associated with this is that the
system loses some efficiency due to the switching on and off of the bus clock, but this impact is small.

566/616

MediaTek Inc. Confidential

11.2.3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Dynamic Clock Switch of MCU Clock

Dynamic Clock Manager is implemented to allow MCU and DSP switching clock dynamically without any jitter, and
enabling signal drift, and system can operate stably during any clock rate switch.

Please note that MDPLL must be enabled and the frequency is set as 104 MHz. Before switching to the 104 MHz clock
rate, the clock from MD DIV2 feeds through dynamic clock manager (DCM) directly. That means if MD DIV2 is enabled,
the internal clock rate is the half of SYSCLK. Contrarily, the internal clock rate is identical to SYSCLK.

fo
r

However, the settings of some hardware modules are required to change before or after clock rate change. Software has
the responsibility of changing them at the proper timing. The following table is a list of hardware modules that need to
change their settings during a clock rate change.
Module Name

Programming Sequence

NAND

Wait state is changed before clock rate change if the clock rate changes from low
to high, and after clock rate change if the clock rate changes from high to low.
New wait state will not take effect until current EMI access is complete. Software
should insert a period of time before switching clock.

LCD

Change wait state while LCD in IDLE state.

Re
lea
se

EMI

Wait state is changed before clock rate change if the clock rate changes from low
to high, and after the clock rate change if the clock rate changes from high to low.
The new wait state does not take effect until the current EMI access is complete.
Software should insert a period of time before switching clock.

Table 67 Programming sequence during clock switch

Register Definitions

Co
nf
id
en
tia
l

11.2.4

CONFG+0100h MDPLL Frequency Register
15

13

12

11

10
CALI
R/W
0

9

8

7
RST
R/W
0

6

SPD

Selects the Output Clock Rate for MDPLL.
Note: The output of MDPLL is a 104 MHz clock for normal function.
system is adjusted by programming MCU DCM and DSP DCM.
000
power down
001
13MHz x 2
010
13MHz x 3
011
13MHz x 4
000
13MHz x 5
101
13MHz x 6
110
13MHz x 7
111
13MHz x 8
Resets Control of MDPLL
0
Normal Operation

5

4

3

2

1
SPD
R/W
0

0

The clock rate of MCU system and DSP

MT
K

Bit
Name
Type
Reset

RST

14

MDPLL

567/616

MediaTek Inc. Confidential

CALI

1
Reset the MDPLL
Calibration Control for MDPLL

CONFG+108h UPLL Frequency register

RST

Resets Control of UPLL
0
Normal Operation
1
Reset the UPLL
Calibration Control for UPLL

CALI

14

13

12

11

10
CALI
R/W
0

9

8

CONFG+10Ch TPLL Frequency register
Bit
Name
Type
Reset

15

RST

Reset Control of TPLL
0
Normal Operation
1
Reset the TPLL
Calibration Control for TPLL

CALI

14

13

12

11

10
CALI
R/W
0

9

8

CONFG+110h Clock Control Register
15

14
13
USB_ DSP_
TV_E
EXTC EXTC
Name
XTCK
K
K
Type R/W R/W R/W
Reset
0
0
0

12

11

10

9

8

7
RST
R/W
0

6

6

7

6
MDPL
TPLL_ UPLL
L_TM
TMA _TMA
A
R/W R/W R/W
0
0
0

Co
nf
id
en
tia
l

Bit

7
RST
R/W
0

5

4

3

2

1

0

fo
r

15

UPLL

Re
lea
se

Bit
Name
Type
Reset

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

5

5

4

3

4
3
CLKS
MD_D
Q_PL
IV2
D
R/W R/W
0
0

TPLL
2

1

0

CLK_CON
2

1

0

MDPL
L
R/W
0

MT
K

MDPLL Selects MCU and DSP clock source
0 MDPLL bypassed
1 Using MDPLL Clock
MD_DIV2 Control the x2 clock divider for MDPLL reference clock input.
0 Divider bypassed
1 Divider not bypassed
CLKSQ_PLD Pull Down Control
0 Disable
1 Enables
MDPLL_TMA MDPLL test mode
0 Disable
1 Enable
UPLL_TMA UPLL test mode
0 Disable
1 Enable
TPLL_TMA TPLL test mode
568/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

CONFG+114h Sleep Control Register
12

11

10

9

8

7

MCU

Stops the MCU Clock to force MCU Processor to enter sleep mode. MCU clock resumes as long as there is an
interrupt request or system is reset.
0 MCU Clock is running
1 MCU Clock is stopped
Stops the AHB Bus Clock to force the entire bus to enter sleep mode. AHB clock resumes as long as there is an
interrupt request or system is reset.
0 AHB Bus Clock is running
1 AHB Bus Clock is stopped
Stops the DSP Clock.
0 DSP Bus Clock is running
1 DSP Bus Clock is stopped

Co
nf
id
en
tia
l

15

DSP

13

6

5

4

3

SLEEP_CON

Bit
Name
Type
Reset

AHB

14

Re
lea
se

fo
r

0 Disable
1 Enable
DSP_EXTCK DSP external clock. When enabled, an external clock source from PIN EINT0 is used instead of DSP
clock from MDPLL output.
0 Disable
1 Enable
USB_EXTCK USB external clock. When enabled, an external clock source from EINT1 is used instead of UPLL
output.
0 Disable
1 Enable
TV_EXTCK TV external clock. When enabled, an external clock source from EINT3 is used instead of TPLL output.
0 Disable
1 Enable

CONFG+0118h MCU Clock Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10
9
ARM_FSEL
R/W
3

8

7

2
DSP
WO
0

1
AHB
WO
0

0
MCU
WO
0

MCUCLK_CON
6

5

4

3

2
1
MCU_FSEL
R/W
3

0

MT
K

MCU_FSELMCU clock frequency selection. This control register is used to control the output clock frequency of MCU
Dynamic Clock Manager. The clock frequency is from 13MHz to 52MHz. The waveforms of the output clock
are shown below.
Note that the clock period of 39MHz is not uniform. The shortest period of 39MHz clock is the same as the
period of 52MHz. As a result, the wait states of external interfaces, such as EMI, NAND, and so on, have
to be configured based on 52MHz timing. Therefore, the MCU performance executing in external memory
at 39MHz may be worse than at 26MHz.
Also note that the maximum latency of clock switch is 8 104MHz-clock periods. Software provides at least
8T locking time after clock switch command.
569/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
104MHz
91MHz
78MHz
65MHz
52MHz
39MHz
26MHz

fo
r

13MHz

Figure 68 Output of Dynamic Clock Manager

Co
nf
id
en
tia
l

Re
lea
se

0
13MHz
1
26MHz
2
39MHz
3
52MHz
Others reserved
ARM_FSELARM clock frequency selection. This control register is used to control the output clock frequency of ARM
Dynamic Clock Manager. The clock frequency is from 13MHz to 104MHz. 39MHz is not a uniform period
clock.
0
13MHz
1
26MHz
2
39MHz
3
52MHz
4
reserved
5
reserved
6
reserved
7
104MHz
Others reserved

CONFG+011C
DSP Clock Control Register
h
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

DSPCLK_CON
6

5

4

3

2
1
DSP_FSEL
R/W
3

0

MT
K

DSP_FSEL DSP clock frequency selection. This control register is used to control the output clock frequency of DSP
Dynamic Clock Manager. The clock frequency is from 13MHz to 104MHz. 39MHz, 65MHz, 78MHz, and
91MHz are not a uniform period clock rate.
0
13MHz
1
26MHz
2
39MHz
3
52MHz
4
65MHz
5
78MHz
6
91MHz
7
104MHz

570/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Others reserved

11.3

Reset Generation Unit (RGU)

MT6228 provides three kinds of resets: hardware reset, watchdog

Re
lea
se

fo
r

Figure 69 shows the reset scheme used in MT6228.
reset, and software reset.

Figure 69 Reset Scheme Used in MT6228

General Description

11.3.1.1

Hardware Reset

Co
nf
id
en
tia
l

11.3.1

This reset is input through the SYSRST# pin, which is driven low during power-on. The hardware reset has a global
effect on the chip: all digital and analog circuits are initialized, except the Real Time Clock module. The initial states of
the MT6228 sub-blocks are as follows:.
All analog circuits are turned off.

All PLLs are turned off and bypassed.
base.

The 13 MHz system clock is the default time

Special trap states in GPIO.

11.3.1.2

Watchdog Reset

A watchdog reset is generated when the Watchdog Timer expires: the MCU software failed to re-program the timer counter
in time. This situation is typically induced by abnormal software execution, which can be aborted by a hardwired
watchdog reset. Hardware blocks that are affected by the watchdog reset are:

MT
K

MCU subsystem,
DSP subsystem, and

External components (trigged by software).

571/616

MediaTek Inc. Confidential

11.3.1.3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Software Resets

Software resets are local reset signals that initialize specific hardware components. For example, if hardware failures are
detected, the MCU or DSP software may write to software reset trigger registers to reset those specific hardware modules to
their initial states.
The following modules have software resets.

fo
r

DSP Core
DSP Coprocessors

Register Definitions

RGU +0000h
Bit

15

14

Watchdog Timer Control Register
13

Name

12

11

10

9

8

KEY[7:0]

Type
Reset

Re
lea
se

11.3.2

7

6

5

4
3
AUTO
-REST IRQ
ART
R/W R/W
0
0

WDT_MODE
2

1

0

EXTE EXTP ENAB
N
OL
LE
R/W
0

R/W
0

R/W
1

RGU +0004h

KEY

15

14

Watchdog Time-Out Interval Register
13

MT
K

Bit
Name
Type
Reset

Co
nf
id
en
tia
l

ENABLE Enables the Watchdog Timer.
0 Disables the Watchdog Timer.
1 Enables the Watchdog Timer.
EXTPOL Defines the polarity of the external watchdog pin.
0 Active low.
1
Active high.
EXTEN Specifies whether or not to generate an external watchdog reset signal.
0 The watchdog does not generate an external watchdog reset signal.
1 If the watchdog counter reaches zero, an external watchdog signal is generated.
IRQ
Issues an interrupt instead of a Watchdog Timer reset. For debug purposes, RGU issues an interrupt to the MCU
instead of resetting the system.
0 Disable.
1 Enable.
AUTO-RESTART
Restarts the Watchdog Timer counter with the value of WDT_LENGTH while task ID is written
into Software Debug Unit.
0 Disable. The counter restarts by writing KEY into the WDT_RESTART register.
1 Enable. The counter restarts by writing KEY into the WDT_RESTART register or by writing
task ID into the software debug unit.
KEY
Write access is allowed if KEY=0x22.

12

11
10
9
TIMEOUT[10:0]
WO
111_1111_1111b

8

7

WDT_LENGTH
6

5

4

3

2
KEY[4:0]

1

0

Write access is allowed if KEY=08h.

572/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
TIMEOUT The counter is restarted with {TIMEOUT [10:0], 1_1111_1111b}. Thus the Watchdog Timer time-out
period is a multiple of 512*T32k=15.6ms.

Bit
Name
Type
Reset

15

14

Watchdog Timer Restart Register
13

12

11

10

9

8
7
KEY[15:0]

WDT_RESTART
6

5

KEY Restart the counter if KEY=1971h.

Bit

15

14
SW_W
Name WDT
DT
Type RO
RO
0
0
Reset

Watchdog Timer Status Register
13

12

11

10

9

8

3

2

1

0

WDT_STA

7

6

5

4

3

2

1

0

Re
lea
se

RGU +000Ch

4

fo
r

RGU +0008h

WDT

RGU +0010h
Bit

15

14

Co
nf
id
en
tia
l

Indicates the cause of the watchdog reset.
0 Reset not due to Watchdog Timer.
1 Reset because the Watchdog Timer time-out period expired.
SW_WDT Indicates if the watchdog was triggered by software.
0 Reset not due to software-triggered Watchdog Timer.
1 Reset due to software-triggered Watchdog Timer.
NOTE: A system reset does not affect this register. This bit is cleared when the WTU_MODE register ENABLE bit is
written.

SW_PERIPH_RS
TN

CPU Peripheral Software Reset Register
13

12

11

10

9

8

7

6

5

4

DAMR USBR
ST
ST

Name
Type
Reset

R/W
0

3

2

1

0

KEY

R/W
0

KEY
Write access is allowed if KEY=37h.
DMARST Reset the DMA peripheral.
0 No reset.
1 Invoke a reset.
USBRST Reset the USB.
0 No reset.
1 Invoke a reset.

RGU +0014h

RST

14

13

MT
K

Bit
15
Name RST
Type R/W
Reset
0

DSP Software Reset Register
12

11

10

9

8

7

SW_DSP_RSTN
6

5

4

3

2

1

0

Controls the DSP System Reset Control.
573/616

MediaTek Inc. Confidential

0
1

No reset.
Invoke a reset.

Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

6
5
LENGTH[ 11:0]
R/W
FFFh

LENGTH This register indicates the reset duration when Watchdog Timer times out.
register IRQ bit is set to 1, an interrupt is issued instead of a reset.

Bit
Name
Type
Reset

15

14

4

3

Watchdog Timer Software Reset Register
13

12

11

10

9

8
7
KEY[15:0]

6

2

1

WDT_SWRST
5

4

3

2

1

Software-triggered Watchdog Timer reset. If the register content matches the KEY, a watchdog reset is issued.
if the WDT_MODE register IRQ bit is set to 1, an interrupt is issued instead of a reset.
KEY

1209h

0

However,

Software Power Down Control

Co
nf
id
en
tia
l

11.4

0

However, if the WDT_MODE

Re
lea
se

RGU+001Ch

WDT_RSTINTRE
VAL

Watchdog Timer Reset Signal Duration Register

fo
r

RGU +0018h

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

In addition to the Pause Mode capability while in the Standby State, the software program can also put each peripheral
independently into Power Down Mode while in the Active State by gating off their clock. The typical logic
implementation is depicted in Figure 70. For all configuration bits, 1 signifies that the function is in Power Down Mode,
and 0 means the function is in the Active Mode.

POWER DOWN
TESTMODE
CLOCK

Figure 70 Power Down Control at Block Level

11.4.1

Register Definitions

CONFG+300h Power Down Control 0 Register
15

14

13

MT
K

Bit

Name

MDPL
L

Type

R/W

12

11

10

9

8

CLK_ CLKS
UPLL TPLL
DIV2
Q
R/W

R/W

R/W

PDN_CON0
7

6

5
PPP

R/W

R/W

574/616

4

3
2
WAVE
CHE TABL GCU
E
R/W R/W R/W

1

0

USB

DMA

R/W

R/W

MediaTek Inc. Confidential

Reset

1

1

0

1

1

1

1

1

Re
lea
se

CONFG +304h Power Down Control 1 Register
Bit

15

1

1

fo
r

DMA
Controls the DMA Controller Power Down.
USB
Controls the USB Controller Power Down.
GCU
Controls the GCU Controller Power Down.
WAVETALBE Controls the DSP WaveTable DMA Power Down.
CHE
Controls the CHE Power Down.
PPP
Controls the PPP Framer Power Down.
TPLL
Controls the TPLL Power Down.
UPLL
Controls the UPLL Power Down.
CLKSQ
Controls the Clock squarer Power Down.
CLK_DIV2 Controls the Input Clock DIV2 Power Down.
MDPLL
Controls the MCU and DSP PLL Power Down.

1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

PDN_CON1

14
13
12
11
10
9
8
7
6
5
4
3
2
UART
SWDB
UART
ALTE
UART
Name IRDA
B2PSI NFI PWM2
MSDC
LCD
PWM1 SIM
GPIO
3
G
2
R
1
Type R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
Reset
1
1
1
1
1
1
1
1
1
1
1
1
0
1

1

0

KP

GPT

R/W
1

R/W
1

Co
nf
id
en
tia
l

GPT
Controls the General Purpose Timer Power Down.
KP
Controls the Keypad Scanner Power Down.
GPIO Controls the GPIO Power Down.
UART1 Controls the UART1 Controller Power Down.
SIM
Controls the SIM Controller Power Down.
PWM1 Controls the PWM1 Generator Power Down.
ALTER Controls the Alerter Generator Power Down.
LCD
Controls the Serial LCD Controller Power Down.
UART2 Controls the UART2 Controller Power Down.
MSDC Controls the MS/SD Controller Power Down.
PWM2 Controls the PWM2 Generator Power Down.
SWDBG
Controls the MCU/DSP Software Debug Power Down.
NFI
Controls the NAND FLASH Interface Power Down.
B2PSI Controls the Serial Port Interface Power Down.
UART3 Controls the UART3 Controller Power Down.
IRDA Controls the IrDA Framer Power Down.

CONFG +308h Power Down Control 2 Register
15

14

11

10

Name GMSK BBRX SCCB AAFE

DIV

GCC

Type R/W
Reset
1

R/W
1

R/W
1

R/W
1

13

R/W
1

MT
K

Bit

12

R/W
1

9

8

7
6
AUXA
BFE VAFE
FCS
D
R/W R/W R/W R/W
1
1
1
1

PDN_CON2
5

4

3

2

1

0

APC

AFC

BPI

BSI

RTC TDMA

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

TDMA Controls the TDMA Power Down.
RTC
Controls the RTC Power Down.

575/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Re
lea
se

fo
r

BSI
Controls the BSI Power Down. This control is not be updated until both tdma_evtval and qbit_en are asserted.
BPI
Controls the BPI Power Down. This control is not be updated until both tdma_evtval and qbit_en are asserted.
AFC
Controls the AFC Power Down. This control is not be updated until both tdma_evtval and qbit_en are asserted.
APC
Controls the APC Power Down. This control is not be updated until both tdma_evtval and qbit_en are asserted.
FCS
Controls the FCS Power Down.
AUXAD Controls the AUX ADC Power Down.
VAFE Controls the Audio Front End of VBI Power Down.
BFE
Controls the Base-Band Front End Power Down.
GCU Controls the GCU Power Down.
DIV
Controls the Divider Power Down.
AAFE Controls the Audio Front End of MP3 Power Down.
SCCB Controls the SCCB Power Down.
BBRX Controls the BB RX Power Down.
GMSK Controls the GMSK Power Down.

CONFG +30Ch Power Down Control 3 Register
Bit

15

14
13
IMGD
Name DRZ
DCT
MA
Type R/W R/W R/W
Reset
1
1
1

12

11

10

9

8

7

6

5

4

3

ISP

PRZ JPEG MP4

G2D GCMQ GIF

PNG

IPP

TV

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

R/W
1

PDN_CON3
2

1
0
RESZ
CRZ
ICE
LB
R/W R/W R/W
1
1
1

Co
nf
id
en
tia
l

ICE
Enables the debug feature of the ARM7EJS core. Controls the DBGEN pin of the ICEBreaker.
RESZ LB
Controls the Post Resizer Power Down.
TV
Controls the TV Encoder Power Down.
CRZ
Controls the Capture Resizer Power Down.
IPP
Controls the Image Processor Power Down.
PNG
Controls the PNG Decoder Power Down.
GIF
Controls the GIF Decoder Power Down.
GCMQ
Controls the Graphic Command Queue Power Down.
G2D
Controls the 2D Accelerator Power Down.
MP4
Controls the MPEG-4 Power Down.
JPEG
Controls the JPEG Power Down.
REZ
Controls the Resizer Power Down.
ISP
Controls the Image Signal Processor Power Down.
DCT
Controls the DCT Power Down.
IMGDMA
Controls the Image DMA Power Down.
DRZ
Controls the Drop Resizer Power Down.

CONFG +330h Power Down Control 4 Register
15

14

13

BSI
BPI

Controls the BSI Power Down.
Controls the BPI Power Down.

MT
K

Bit
Name
Type
Reset

12

11

10

9

8

7

PDN_CON4
6

5
APC
WO
1

4
AFC
WO
1

3
BPI
WO
1

2
BSI
WO
1

1

0

This control is updated immediately.
This control is updated immediately.

576/616

MediaTek Inc. Confidential

AFC
APC

Controls the AFC Power Down.
Controls the APC Power Down.

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
This control is updated immediately.
This control is updated immediately.

CONFG+0310h Power Down Set 0 Register
15

14

Name

MDPL
L

Type

W1S

13

12

11

10

9

8

7

6

5

CLK_ CLKS
UPLL TPLL
DIV2
Q

PPP

W1S

W1S

W1S

W1S

W1S

CONFG+0314h Power Down Set 1 Register
15

14
13
12
UART
B2PSI NFI
Name IRDA
3
Type W1S W1S W1S W1S

11

10

15

10

Name GMSK BBRX SCCB AAFE

DIV

GCC

Type

W1S

W1S

W1S

13
W1S

12
W1S

9

9

8

7
6
AUXA
BFE VAFE
FCS
D
W1S W1S W1S W1S

CONFG+031C
Power Down Set 3 Register
h
15

14
13
IMGD
Name DRZ
DCT
MA
Type W1S W1S W1S

12

11

10

9

8

7

15

14

13

W1S

W1S

6

APC

AFC

BPI

BSI

RTC TDMA

W1S

W1S

W1S

W1S

W1S

5

4

3

IPP

TV

W1S

W1S

W1S

W1S

W1S

W1S

W1S

W1S

11

10

9

8

7

W1S

2

PNG

W1S

GPT

3

G2D GCMQ GIF

W1S

0

4

REZ JPEG MP4

12

DMA

PDN_SET2
1

0
W1S

PDN_SET3
2

1
0
RESZ
CRZ
ICE
LB
W1S W1S W1S

CONFG+0334h Power Down Set 4 Register
Bit
Name
Type

USB

5

ISP

Co
nf
id
en
tia
l

Bit

0

8
7
6
5
4
3
2
1
UART
ALTE
UART
LCD
PWM1 SIM
GPIO KP
TRC PWM2 MSDC
2
R
1
W1S W1S W1S W1S W1S W1S W1S W1S W1S W1S W1S

11

W1S

14

1

PDN_SET1

CONFG+0318h Power Down Set 2 Register
Bit

3
2
WAVE
CHE TABL GCU
E
W1S W1S W1S

Re
lea
se

Bit

4

fo
r

Bit

PDN_SET0

PDN_SET4
6

5
APC
W1S

4
AFC
W1S

3
BPI
W1S

2
BSI
W1S

1

0

These registers are used to set power down control bit individually. Only bits set to 1 are in effect. Setting the bits to 1
sets the corresponding power down control bits to 1. Otherwise, the bits retain their original value.
EACH BIT Set the Associated Power Down Control Bit to 1.
0 No effect.
1 Set corresponding bit to 1.

CONFG+0320h Power Down Clear 0 Register
Bit

15

14

13

12

11

10

9

8

7

PDN_CLR0
6

5

MDPL
L

CLK_ CLKS
UPLL TPLL
DIV2
Q

PPP

Type

W1C

W1C

W1C

MT
K

Name

W1C

W1C

W1C

577/616

4

3
2
WAVE
CHE TABL GCU
E
W1C W1C W1C

1

0

USB

DMA

W1C W1C

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

CONFG+0324h Power Down Clear 1 Register
Bit

15

14
13
12
UART
Name IRDA
B2PSI NFI
3
Type W1C W1C W1C W1C

11

10

PDN_CLR1

9

8
7
6
5
4
3
2
1
0
UART
ALTE
UART
TRC PWM2 MSDC
LCD
PWM1 SIM
GPIO KP
GPT
1
2
R
W1C W1C W1C W1C W1C W1C W1C W1C W1C W1C W1C W1C

CONFG+0328h Power Down Clear 2 Register
14

11

10

Name GMSK BBRX SCCB AAFE

DIV

GCC

Type W1C

W1C

W1C

W1C

13
W1C

12
W1C

9

8

7
6
AUXA
BFE VAFE
FCS
D
W1C W1C W1C W1C

CONFG+032C
Power Down Clear 3 Register
h
Bit

15

14
13
IMGD
DCT
Name DRZ
MA
Type W1C W1C W1C

12
ISP
W1C

11

10

9

8

15

14

13

12

4

3

2

APC

AFC

BPI

BSI

RTC TDMA

W1C

W1C

W1C

W1C

W1C W1C

7

6

5

4

3

REZ JPEG MP4

G2D GCMQ GIF

PNG

IPP

TV

W1C

W1C

W1C

W1C

W1C

W1C

W1C

CONFG+0338h Power Down Clear 4 Register
Bit
Name
Type

5

fo
r

15

Re
lea
se

Bit

PDN_CLR2

11

10

9

8

W1C

7

W1C

6

5
APC
W1C

4
AFC
W1C

3
BPI
W1C

1

0

PDN_CLR3
2

1
0
RESZ
ICE
CRZ
LB
W1C W1C W1C

PDN_CLR4
2
BSI
W1C

1

0

Co
nf
id
en
tia
l

These registers are used to clear power down control bits individually. Only the bits set to 1 are in effect. Setting the
bits to 1 sets the corresponding power down control bits to 0. Otherwise, the bits retain their original value.

MT
K

EACH BIT Clear the Associated Power Down Control Bit.
0 no effect
1 Set corresponding bit to 0

578/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

12 Analog Front-end & Analog Blocks
12.1

General Description

fo
r

To communicate with analog blocks, a common control interface for all analog blocks is implemented. In addition, there are
some dedicated interfaces for data transfer. The common control interface translates APB bus write and read cycle for
specific addresses related to analog front-end control. During writing or reading of any of these control registers, there is a
latency associated with transferring of data to or from the analog front-end. Dedicated data interface of each analog block is
implemented in the corresponding digital block. The Analog Blocks includes the following analog function for complete
GSM/GPRS base-band signal processing:
Base-band RX: For I/Q channels base-band A/D conversion

2.

Base-band TX: For I/Q channels base-band D/A conversion and smoothing filtering, DC level shifting

3.

RF Control: Two DACs for automatic power control (APC) and automatic frequency control (AFC) are included.
Their outputs are provided to external RF power amplifier and VCXO), respectively.

4.

Auxiliary ADC: Providing an ADC for battery and other auxiliary analog function monitoring

5.

Audio mixed-signal blocks: It provides complete analog voice signal processing including microphone amplification,
A/D conversion, D/A conversion, earphone driver, and etc. Besides, dedicated stereo D/A conversion and
amplification for audio signals are included).

6.

Clock Generation: A clock squarer for shaping system clock, and three PLLs that provide clock signals to DSP, MCU,
and USB units are included

7.

XOSC32: It is a 32-KHz crystal oscillator circuit for RTC application Analog Block Descriptions

Co
nf
id
en
tia
l

Re
lea
se

1.

12.1.1

BBRX

12.1.1.1

Block Descriptions

The receiver (RX) performs base-band I/Q channels downlink analog-to-digital conversion:
1. Analog input multiplexer: For each channel, a 4-input multiplexer that supports offset and gain calibration is included.
2. A/D converter: Two 14-bit sigma-delta ADCs perform I/Q digitization for further digital signal processing.

12.1.1.2

Functional Specifications

The functional specifications of the base-band downlink receiver are listed in the following table.
Symbol

Parameter

N

Resolution

FC
FS

Min

Typical

Max

Unit
Bit

Clock Rate

26

MHz

Output Sampling Rate

13/12

MSPS

Input Swing
When GAIN=’0’

0.8*AVDD

Vpk

0.4*AVDD

Vpk

MT
K

14

579/616

MediaTek Inc. Confidential

When GAIN=’1’
OE

Offset Error

+/- 10

FSE

Full Swing Error

+/- 30

I/Q Gain Mismatch

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

mV

mV

0.5

Signal to Noise and Distortion Ratio
- 45kHz sine wave in [0:90] kHz bandwidth
- 145kHz sine wave in [10:190] kHz
bandwidth

dB
dB

ICN

Idle channel noise
- [0:90] kHz bandwidth
- [10:190] kHz bandwidth

DR

Dynamic Range
- [0:90] kHz bandwidth
- [10:190] kHz bandwidth

74
70

dB
dB

RIN

Input Resistance

75

k

DVDD

Digital Power Supply

1.6

1.8

2.0

V

AVDD

Analog Power Supply

2.5

2.8

3.1

V

T

Operating Temperature

-20

fo
r

SINAD

-74
-70

dB
dB

Re
lea
se

Current Consumption
Power-up
Power-Down

65
65

dB

80

5
5

mA
A

Co
nf
id
en
tia
l

Table 68 Base-band Downlink Specifications

12.1.2

BBTX

12.1.2.1

Block Descriptions

The transmitter (TX) performs base-band I/Q channels up-link digital-to-analog conversion. Each channel includes:
1. 10-Bits D/A Converter: It converts digital GMSK modulated signals to analog domain. The input to the DAC is sampled
at 4.33-MHz rate with 10-bits resolution.
2. Smoothing Filter: The low-pass filter performs smoothing function for DAC output signals with a 350-kHz 2nd-order
Butterworth frequency response.

12.1.2.2

Function Specifications

The functional specifications of the base-band uplink transmitter are listed in the following table.
Parameter

N

Resolution

10

Bit

FS

Sampling Rate

4.33

MSPS

SINAD

Signal to Noise and Distortion Ratio

57

60

dB

Output Swing

0.18*AVDD

Output CM Voltage

0.34*AVDD

MT
K

Symbol

VOCM

Min

580/616

Typical

0.5*AVDD

Max

Unit

0.89*AVDD

V

0.62*AVDD

V

MediaTek Inc. Confidential

Output Capacitance

20
10

K

DNL

Differential Nonlinearity

+/- 0.5

INL

Integral Nonlinearity

+/- 1.0

OE

Offset Error

+/- 15

FSE

Full Swing Error

+/- 30

FCUT

Filter –3dB Cutoff Frequency

300

350

ATT

Filter Attenuation at
100-KHz
270-KHz
4.33-MHz

0.1
2.2
46.4

0.0
1.3
43.7

LSB

mV

mV

400

KHz

0.0
0.8
41.4

dB
dB
dB

+/- 0.5

I/Q Gain Mismatch Correction Range

-1.18

DVDD

Digital Power Supply

1.6

AVDD

Analog Power Supply

2.5

T

Operating Temperature

-20

Current Consumption
Power-up
Power-Down

LSB

Re
lea
se

I/Q Gain Mismatch

PF

fo
r

Output Resistance

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

dB

+1.18

dB

1.8

2.0

V

2.8

3.1

V

80

5
5

mA
A

Table 69 Base-band Uplink Transmitter Specifications

AFC-DAC

12.1.3.1

Block Descriptions

Co
nf
id
en
tia
l

12.1.3

As shown in the following figure, together with a 2nd-oder digital sigma-delta modulator, AFC-DAC is designed to produce
a single-ended output signal at AFC pin. AFC pin should be connected to an external 1st-order R-C low pass filter to meet
the 13-bits resolution (DNL) requirement2.
The AFC_BYP pin is the mid-tap of a resistor divider inside the chip to offer the AFC output common-mode level. Nominal
value of this common-mode voltage is half the analog power supply, and typical value of output impedance of AFC_BYP
pin is about 21k . To suppress the noise on common mode level, it is suggested to add an external capacitance between
AFC_BYP pin and ground. The value of the bypass capacitor should be chosen as large as possible but still meet the
settling time requirement set by overall AFC algorithm3.

2

3

MT
K

DNL performance depends on external output RC filter bandwidth: the narrower the bandwidth, the better the DNL. Thus,
there exists a tradeoff between output setting speed and DNL performance

AFC_BYP output impedance and bypass capacitance determine the common-mode settling RC time constant. Insufficient
common-mode settling will affect the INL performance. A typical value of 1nF is suggested.

581/616

MediaTek Inc. Confidential

fo
r

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Figure 71 Block diagram of AFC-DAC

Functional Specifications

Re
lea
se

12.1.3.2

The following table gives the electrical specification of AFC-DAC.
Symbol

Parameter

Min

N

Resolution

FS

Sampling Rate

DVDD

Digital Power Supply

1.6

AVDD

Analog Power Supply

2.6

T

Operating Temperature

-20

Max

Bit

6500

KHz

1.8

2.0

V

2.8

3.1

V

80

1.2

Output Swing

1

0.75*AVDD

Output Resistor
(in AFC output RC network)

Unit

13

Co
nf
id
en
tia
l

Current Consumption
Power-up
Power-Down

Typical

mA
A
V

1

K

DNL

Differential Nonlinearity

+1/-1

LSB

INL

Integral Nonlinearity

+4.0/-4.0

LSB

Table 70 Functional specification of AFC-DAC

12.1.4

APC-DAC

12.1.4.1

Block Descriptions

The APC-DAC is a 10-bits DAC with output buffer aimed for automatic power control. Here blow are its analog pin
assignment and functional specification tables.

12.1.4.2

Function Specifications
Parameter

N

Resolution

FS

Min

MT
K

Symbol

SINAD

Typical

Max

10

Sampling Rate

Bit
1.0833

Signal to Noise and Distortion Ratio

50

582/616

Unit
MSPS
dB

MediaTek Inc. Confidential

(10-KHz Sine with 1.0V Swing & 100-KHz BW)

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

99% Settling Time (Full Swing on Maximal Capacitance)

5

Output Swing

AVDD-0.2

V

Output Capacitance

200

pF

10

K

DNL

Differential Nonlinearity

+/- 0.5

INL

Integral Nonlinearity

+/- 1.0

OE

Offset Error

+/- 10

mV

FSE

Full Swing Error

+/- 10

mV

DVDD

Digital Power Supply

1.6

1.8

fo
r

Output Resistance

S

LSB

2.0

V

AVDD

Analog Power Supply

2.5

2.8

3.1

V

T

Operating Temperature

-20

Re
lea
se

LSB

Current Consumption
Power-up
Power-Down

80

600
1

A
A

Table 71 APC-DAC Specifications

12.1.5

Auxiliary ADC

12.1.5.1

Block Descriptions

Co
nf
id
en
tia
l

The auxiliary ADC includes the following functional blocks:
1.

Analog Multiplexer: The analog multiplexer selects signal from one of the seven auxiliary input pins. Real word
message to be monitored, like temperature, should be transferred to the voltage domain.

2.

10 bits A/D Converter: The ADC converts the multiplexed input signal to 10-bit digital data.

12.1.5.2

Function Specifications

The functional specifications of the auxiliary ADC are listed in the following table.
Symbol

Parameter

N

Resolution

FC

Clock Rate

FS

Sampling Rate @ N-Bit

Min
0.1

Typical

Max

10
1.0833

Unit
Bit

5

MHz

5/(N+1)

MSPS

Input Swing

1.0

AVDD

V

VREFP

Positive Reference Voltage
(Defined by AUX_REF pin)

1.0

AVDD

V

CIN

Input Capacitance
Unselected Channel
Selected Channel

MT
K

RIN

50
1.2

Input Resistance
Unselected Channel
Selected Channel

10
1.8

583/616

fF
pF

M
M

MediaTek Inc. Confidential

RS

Resistor String Between AUX_REF pin & ground
Power Up
Power Down

35
10

50

65

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
K
M

Clock Latency

11

DNL

Differential Nonlinearity

+0.5/-0.5

INL

Integral Nonlinearity

+1.0/-1.0

OE

Offset Error

+/- 10

mV

FSE

Full Swing Error

+/- 10

mV

SINAD

Signal to Noise and Distortion Ratio (10-KHz Full
Swing Input & 13-MHz Clock Rate)

50

DVDD

Digital Power Supply

1.6

1.8

AVDD

Analog Power Supply

2.5

2.8

T

Operating Temperature

LSB

fo
r

LSB

dB

2.0

V

3.1

V

Re
lea
se

Current Consumption
Power-up
Power-Down

1/FC

-20

80

300
1

A
A

Table 72 The Functional specification of Auxiliary ADC

12.1.6

Audio mixed-signal blocks

12.1.6.1

Block Descriptions

MT
K

Co
nf
id
en
tia
l

Audio mixed-signal blocks (AMB) integrate complete voice uplink/downlink and audio playback functions. As shown in
the following figure, it includes mainly three parts. The first consists of stereo audio DACs and speaker amplifiers for audio
playback. The second is the voice downlink path, including voice-band DACs and amplifiers, which produces voice signal
to earphone or other auxiliary output device. Amplifiers in these two blocks are equipped with multiplexers to accept
signals from internal audio/voice or external radio sources. The last is the voice uplink path, which is the interface between
microphone (or other auxiliary input device) input and MT6228 DSP. A set of bias voltage is provided for external electret
microphone..

584/616

MediaTek Inc. Confidential

Co
nf
id
en
tia
l

Re
lea
se

fo
r

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Figure 72 Block diagram of audio mixed-signal blocks.

12.1.6.2

Functional Specifications

The following table gives functional specifications of voice-band uplink/downlink blocks.
Parameter

FS

Sampling Rate

4096

KHz

CREF

Decoupling Cap Between AU_VREF_P
And AU_VREF_N

47

NF

DVDD

Digital Power Supply

1.6

1.8

2.0

V

AVDD

Analog Power Supply

2.5

2.8

3.1

V

T

Operating Temperature

-20

IDC

Current Consumption

5

mA

VMIC

Microphone Biasing Voltage

1.9

V

MT
K

Symbol

Min

585/616

Typical

Max

Unit

80

MediaTek Inc. Confidential

IMIC

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
2

Current Draw From Microphone Bias
Pins

mA

Uplink Path4
Signal to Noise and Distortion Ratio
Input Level: -40 dbm0
Input Level: 0 dbm0

29

RIN

Input Impedance (Differential)

13

ICN
XT

dB
dB

69
27

K

Idle Channel Noise

-67

dBm0

Crosstalk Level

-66

dBm0

Downlink Path

20

fo
r

SINAD

5

Signal to Noise and Distortion Ratio
Input Level: -40 dBm0
Input Level: 0 dBm0

29

RLOAD

Output Resistor Load (Differential)

28

CLOAD

Output Capacitor Load

ICN

Idle Channel Noise of Transmit Path

XT

Crosstalk Level on Transmit Path

69

Re
lea
se

SINAD

dB
dB

200

pF

-67

dBm0

-66

dBm0

Table 73 Functional specifications of analog voice blocks
Functional specifications of the audio blocks are described in the following.
Parameter
Clock Frequency

Fs

Sampling Rate

AVDD

Min

Typical
Fs*128

Max

Unit
KHz

32

44.1

48

KHz

Power Supply

2.6

2.8

3.1

V

T

Operating Temperature

-20

IDC

Current Consumption

5

mA

PSNR

Peak Signal to Noise Ratio

80

dB

DR

Dynamic Range

80

dB

VOUT

Output Swing for 0dBFS Input Level

0.85

Vrms

THD

Total Harmonic Distortion

Co
nf
id
en
tia
l

Symbol
FCK

80

-40
-60

dB

4

5

MT
K

For uplink-path, not all gain setting of VUPG meets the specification listed on table, especially for the several highest
gains. The maximum gain that meets the specification is to be determined.
For downlink-path, not all gain setting of VDPG meets the specification listed on table, especially for the several lowest
gains. The minimum gain that meets the specification is to be determined.

586/616

MediaTek Inc. Confidential

RLOAD

Output Resistor Load (Single-Ended)

CLOAD

Output Capacitor Load

200

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

XT

L-R Channel Cross Talk

TBD

dB

Load

22mW at 32

Load

dB

16

pF

fo
r

45mW at 16

12.1.7

Clock Squarer

12.1.7.1

Block Descriptions

Re
lea
se

Table 74 Functional specifications of the analog audio blocks

For most VCXO, the output clock waveform is sinusoidal with too small amplitude (about several hundred mV) to make
MT6228 digital circuits function well. Clock squarer is designed to convert such a small signal to a rail-to-rail clock signal
with excellent duty-cycle. It provides also a pull-down function when the circuit is powered-down.

12.1.7.2

Function Specifications

The functional specification of clock squarer is shown in Table 75.
Parameter

Fin

Input Clock Frequency

Fout

Output Clock Frequency

Vin
DcycIN
DcycOUT
TR
TF
DVDD
AVDD
T

Min

Co
nf
id
en
tia
l

Symbol

Typical

Unit

13

MHz

13

MHz

Input Signal Amplitude

500

Input Signal Duty Cycle

50

Output Signal Duty Cycle

Max

DcycIN-5

AVDD

mVpp
%

DcycIN+5

%

Rise Time on Pin CLKSQOUT

5

ns/pF

Fall Time on Pin CLKSQOUT

5

ns/pF

Digital Power Supply

1.3

1.5

1.7

V

Analog Power Supply

2.5

2.8

3.1

V

Operating Temperature

-20

Current Consumption

80
TBD

A

Table 75 The Functional Specification of Clock Squarer

12.1.7.3

Application Notes

MT
K

Here below in the figure is an equivalent circuit of the clock squarer. Please be noted that the clock squarer is designed to
accept a sinusoidal input signal. If the input signal is not sinusoidal, its harmonic distortion should be low enough to not
produce a wrong clock output. As an reference, for a 13MHz sinusoidal signal input with amplitude of 0.2V the harmonic
distortion should be smaller than 0.02V.

587/616

MediaTek Inc. Confidential

fo
r

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

12.1.8

Phase Locked Loop

12.1.8.1

Block Descriptions

Re
lea
se

Figure 73 Equivalent circuit of Clock Squarer.

MT6228 includes three PLLs: DSP PLL, MCU PLL, and USB PLL. DSP PLL and MCU PLL are identical and
programmable to provide either 52MHz or 78 MHz output clock while accepts 13MHz signal. USB PLL is designed to
accept 4MHz input clock signal and provides 48MHz output clock.

12.1.8.2

Function Specifications

The functional specification of DSP/MCU PLL is shown in the following table.
Parameter

Min

Fin

Input Clock Frequency

Fout

Output Clock Frequency

52

Lock-in Time

Output Clock Duty Cycle

Typical

Max

13

Co
nf
id
en
tia
l

Symbol

40

Output Clock Jitter

Unit
MHz

78

MHz

TBD
50

s
60

%

650

ps

DVDD

Digital Power Supply

1.6

1.8

2.0

V

AVDD

Analog Power Supply

2.5

2.8

3.1

V

T

Operating Temperature

-20

Current Consumption

80
TBD

A

Table 76 The Functional Specification of DSP/MCU PLL

The functional specification of USB PLL is shown below.
Parameter

Fin

Input Clock Frequency

4

MHz

Fout

Output Clock Frequency

48

MHz

MT
K

Symbol

Min

Lock-in Time
Output Clock Duty Cycle

Typical

Max

TBD
40

Output Clock Jitter

50
650

588/616

Unit

s
60

%
ps

MediaTek Inc. Confidential

DVDD

Digital Power Supply

1.3

1.5

1.7

AVDD

Analog Power Supply

2.5

2.8

3.1

T

Operating Temperature

-20

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
V

V

80

Current Consumption

TBD

A

12.1.9

32-KHz Crystal Oscillator

12.1.9.1

Block Descriptions

fo
r

Table 77 The Functional Specification of USB PLL

Re
lea
se

The low-power 32-KHz crystal oscillator XOSC32 is designed to work with an external piezoelectric 32.768kHz crystal
and a load composed of two functional capacitors, as shown in the following figure.

12.1.9.2

Co
nf
id
en
tia
l

Figure 74 Block diagram of XOSC32

Functional specifications

The functional specification of XOSC32 is shown in the following table.
Symbol

Parameter

AVDDRTC Analog power supply
Tosc
Dcyc
TR
TF

Min

Typical

Max

Unit

1.08

1.2

1.65

V

5

sec

Start-up time
Duty cycle

50

%

Rise time on XOSCOUT

TBD

ns/pF

Fall time on XOSCOUT

TBD

ns/pF

Current consumption

Leakage current

T

Operating temperature

5

1

-20

A
A

80

Table 78 Functional Specification of XOSC32

MT
K

Here below are a few recommendations for the crystal parameters for use with XOSC32.
Symbol

Parameter

F

Frequency range

Min

Typical
32768

589/616

Max

Unit
Hz

MediaTek Inc. Confidential

GL

Drive level

f/f

5

Frequency tolerance

+/- 20

Ppm

ESR

Series resistance

50

K

C0

Static capacitance

1.6

pF

12.5

pF

6

fo
r

Load capacitance
6
CL
Table 79 Recommended Parameters of the 32kHz crystal

12.2

MCU Register Definitions

12.2.1

uW

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

BBRX

Re
lea
se

MCU APB bus registers for BBRX ADC are listed as followings.

MIXED+0300h BBRX ADC Analog-Circuit Control Register
Bit

15

14

13

12

11

10

9

8

Name

QSEL

ISEL

Type
Reset

R/W
00

R/W
00

Set this register for analog circuit configuration controls.

7

6
5
PDNC
RSV
GAIN
HP
R/W R/W R/W
0
0
0

4

3

BBRX_AC_CON
2

1

0

CALBIAS
R/W
00000

6

MT
K

Co
nf
id
en
tia
l

CALBIAS The register field is for control of biasing current in BBRX mixed-signal module. It is coded in 2’s complement.
That is, its maximum is 15 and minimum is –16. Biasing current in BBRX mixed-signal module has impact on
the performance of A/D conversion. The larger the value of the register field, the larger the biasing current in
BBRX mixed-signal module, and the larger the SNR.
GAIN The register bit is for configuration of gain control of analog inputs in GSM RX mixed-signal module. When the
bit is set to 1, gain control for analog inputs will be turned on and thus GSM RX mixed-signal module can provide
higher resolutions. When the bit is set to 0, gain control for analog inputs will be turned off and thus GSM RX
mixed-signal module can only provide lower resolutions.
0 Gain control for analog inputs in GSM RX mixed-signal module will be turned off.
1 Gain control for analog inputs in GSM RX mixed-signal module will be turned on.
PDNCHP Power down control for charge pumping of GSM RX ADC.
0 Power down charge pumping of GSM RX ADC.
1 Power up charge pumping of GSM RX ADC.
ISEL Loopback configuration selection for I-channel in BBRX mixed-signal module
00 Normal mode
01 Loopback TX analog I
10 Loopback TX analog Q
11 Select the grounded input
QSEL Loopback configuration selection for Q-channel in BBRX mixed-signal module
00 Normal mode

CL is the parallel combination of C1 and C2 in the block diagram.

590/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
01 Loopback TX analog Q
10 Loopback TX analog I
11 Select the grounded input

12.2.2

BBTX

MCU APB bus registers for BBTX DAC are listed as followings.

15
14
CALR STAR
Name CDON TCAL
E
RC
Type
R
R/W
Reset
0
0

13

12

11

10

9

8

GAIN

CALRCSEL

R/W
000

R/W
000

7

6

5

4

3

TRIMI
R/W
0000

2

1

0

TRIMQ

Re
lea
se

Bit

BBTX_AC_CON
0

fo
r

MIXED+0400h BBTX DAC Analog-Circuit Control Register 0

R/W
0000

Set this register for analog circuit configuration controls. The procedure to perform calibration processing for smoothing
filter in BBTX mixed-signal module is as follows:
7.

Write 1 to the register bit CARLC in the register TX_CON of Baseband Front End in order to activate clock
required for calibration process. Initiate calibration process.

8.

Write 1 to the register bit STARTCALRC. Start calibration process.

9.

Read the register bit CALRCDONE. If read as 1, then calibration process finished. Otherwise repeat the step.

Co
nf
id
en
tia
l

10. Write 0 to the register bit STARTCALRC. Stop calibration process.
11. Write 0 to the register bit CARLC in the register TX_CON of Baseband Front End in order to deactivate clock
required for calibration process. Terminate calibration process.
12. The result of calibration process can be read from the register field CALRCOUT of the register
BBTX_AC_CON1. Software can set the value to the register field CALRCSEL for 3-dB cutoff frequency
selection of smoothing filter in DAC of BBTX.
Remember to set the register field CALRCCONT of the register BBTX_AC_CON1 to 0xb before the calibration process. It
only needs to be set once.

MT
K

TRIMQ The register field is used to control gain trimming of Q-channel DAC in BBTX mixed-signal module. It is coded
in 2’s complement, that is, with maximum 15 and minimum –16.
TRIMI The register field is used to control gain trimming of I-channel DAC in BBTX mixed-signal module. It is coded in
2’s complement, that is, with maximum 15 and minimum –16.
CALRCSEL
The register field is for selection of cutoff frequency of smoothing filter in BBTX mixed-signal module.
It is coded in 2’s complement. That is, its maximum is 3 and minimum is –4.
GAIN The register field is used to control gain of DAC in BBTX mixed-signal module. It has impact on both of I- and
Q-channel DAC in BBTX mixed-signal module. It is coded in 2’s complement, that is, with maximum 3 and
minimum –4.
STARTCALRC Whenever 1 is writing to the bit, calibration process for smoothing filter in BBTX mixed-signal module
will be triggered. Once the calibration process is completed, the register bit CARLDONE will be read as 1.

591/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
CALRCDONE The register bit indicates if calibration process for smoothing filter in BBTX mixed-signal module has
finished. When calibration processing finishes, the register bit will be 1. When the register bit STARTCALRC is
set to 0, the register bit becomes 0 again.

BBTX_AC_CON
1

MIXED+0404h BBTX DAC Analog-Circuit Control Register 1
15

14

13

Name

CALRCOUT

Type
Reset

R
-

12
FLOA
T
R/W
0

11

10

9

8

7

6

5

CALRCCNT

CALBIAS

R/W
0000

R/W
00000

Set this register for analog circuit configuration controls.
CMV

4

3

2

1

0

CMV

fo
r

Bit

R/W
000

12.2.3

Co
nf
id
en
tia
l

Re
lea
se

The register field is used to control common voltage in BBTX mixed-signal module. It is coded in 2’s complement,
that is, with maximum 3 and minimum –4.
CALBIAS The register field is for control of biasing current in BBTX mixed-signal module. It is coded in 2’s
complement. That is, its maximum is 15 and minimum is –16. Biasing current in BBTX mixed-signal module has
impact on performance of D/A conversion. Larger the value of the register field, the larger the biasing current in
BBTX mixed-signal module.
CALRCCNT
Parameter for calibration process of smoothing filter in BBTX mixed-signal module. Default value is
eleven. Note that it is NOT coded in 2’s complement. Therefore the range of its value is from 0 to 15. Remember
to set it to 0xb before BBTX calibration process. It only needs to be set once.
FLOAT The register field is used to have the outputs of DAC in BBTX mixed-signal module float or not.
CALRCOUT
After calibration processing for smoothing filter in BBTX mixed-signal module, a set of 3-bit value is
obtained. It is coded in 2’s complement.

AFC DAC

MCU APB bus registers for AFC DAC are listed as follows.

MIXED+0500h AFC DAC Analog-Circuit Control Register
Bit

15

Name
Type
Reset

14

13

12

11

10

9

8

7

TEST
R/W
0

6

5
PDN_
CHPU
MP
R/W
0

AFC_AC_CON
4

3

2

1

0

CALI
R/W
0

Set this register for analog circuit configuration controls. Please refer to analog functional specification for more details.
TEST test control
PDN_CHPUMP charge pump power down
CALI biasing current control

APC DAC

MT
K

12.2.4

MCU APB bus registers for APC DAC are listed as followings.

592/616

MediaTek Inc. Confidential

MIXED+0600h APC DAC Analog-Circuit Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

6

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

APC_AC_CON
5
BYP
R/W
0

4

3

2
CALI
R/W
0

1

0

Set this register for analog circuit configuration controls. Please refer to analog functional specification for more details.
bypass output buffer
biasing current control

12.2.5

fo
r

BYP
CALI

Auxiliary ADC

Re
lea
se

MCU APB bus registers for AUX ADC are listed as followings.

MIXED+0700h Auxiliary ADC Analog-Circuit Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10

9

8

7

6

5

4

3

AUX_AC_CON
2
CALI
R/W
0

1

0

Set this register for analog circuit configuration controls. Please refer to analog functional specification for more details.
CALI

biasing current control

12.2.6

Voice Front-end

Co
nf
id
en
tia
l

MCU APB bus registers for speech are listed as followings.

MIXED+0100h AFE Voice Analog Gain Control Register
Bit
Name
Type
Reset

15

14

13

12

11

10
VUPG
R/W
0000

9

8

7

AFE_VAG_CON

6
5
VDPG0
R/W
0000

4

3

2
1
VDPG1
R/W
0000

0

Set this register for analog PGA gains. VUPG is set for microphone input volume control. And VDPG0 and VDPG1 are set
for two output volume controls
VUPG voice-band up-link PGA gain control bits
VCFG [2] =’0’

VCFG [2] =’1’

Gain

VUPG [4:0]

Gain

11111

42 dB

XX111

-21dB

11110

40 dB

XX110

-18dB

11101

38 dB

XX101

-15dB

11100

36 dB

XX100

-12dB

11011

34 dB

XX011

-9dB

11010

32 dB

XX010

-6dB

11001

30 dB

XX001

-3dB

MT
K

VUPG [4:0]

593/616

MediaTek Inc. Confidential

26 dB

10110

24 dB

10101

22 dB

10100

20 dB

10011

18 dB

10010

16 dB

10001

14 dB

10000

12 dB

01111

10 dB

01110

8 dB

01101

6 dB

01100

4 dB

01011

2 dB

01010

0 dB

01001

-2 dB

01000

-4 dB

00111

-6 dB

00110

-8 dB

00101

-10 dB

00100

-12 dB

00011

-14 dB

00010

-16 dB

00001

-18 dB

00000

-20 dB

0dB

fo
r

10111

XX000

Re
lea
se

28 dB

Co
nf
id
en
tia
l

11000

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Table 80 Uplink PGA gain setting (VUPG [4:0])

VDPG0 voice-band down-link PGA0 gain control bits
VDPG1 voice-band down-link PGA1 gain control bits

Gain

1111

8dB

1110

6dB

1101

4dB

1100

2dB

1011

0dB

1010

-2dB

1001

-4dB

1000

-6dB

0111

-8dB

MT
K

VDPG0 [3:0] / VDPG1 [3:0]

594/616

MediaTek Inc. Confidential

-10dB

0101

-12dB

0100

-14dB

0011

-16dB

0010

-18dB

0001

-20dB

0000

-22dB

Table 81 Downlink power amplifier gain setting

MIXED+0104h AFE Voice Analog-Circuit Control Register 0
15

14

13

12

11

10

9
8
VCFG
R/W
0000

Set this register for analog circuit configuration controls.

Co
nf
id
en
tia
l

VCFG[3] microphone biasing control
0 differential biasing
1 single-ended biasing
VCFG[2] gain mode control
0 amplification
1 attenuation
VCFG[1] coupling control
0 AC
1 DC
VCFG[0] input select control
0 input 0
1 input 1
VDSEND[1]single-ended configuration control for out1
VDSEND[0]single-ended configuration control for out0
VCALI biasing current control, in 2’s complement format

7

6
5
VDSEND
R/W
00

AFE_VAC_CON0

4

3

MIXED+0108h AFE Voice Analog-Circuit Control Register 1
Bit

15

14

Name

13

12

11

10

VBG_CTRL

Type
Reset

R/W
000

2
VCALI
R/W
00000

Re
lea
se

Bit
Name
Type
Reset

fo
r

0110

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

9
8
7
6
5
VPDN
VFLO VRSD VRES VBUF
_CHP
AT
ON
SW 0SEL
UMP
R/W R/W R/W R/W R/W
0
0
0
0
0

1

0

AFE_VAC_CON1
4

3
VBUF1SEL
R/W
000

2

1
0
VADC VDAC
INMO INMO
DE
DE
R/W R/W
0
0

MT
K

Set this register for analog circuit configuration controls. There are several loop back modes and test modes implemented
for test purposes. Suggested value is 0084h.
VBG_CTRL

voice-band band-gap control

VPDN_CHPUMP

voice-band charge pump power down

595/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
0: power down (normal operating mode)
1: charge pump on (for fab. process)
VFLOAT voice-band output driver float
0: normal operating mode
1: float mode
VRSDON voice-band redundant signed digit function on

Re
lea
se

fo
r

0: 1-bit 2-level mode
1: 2-bit 3-level mode
VRESSW
voice-band output buffer 1 output DC voltage control.
VBUF0SEL voice buffer 0 input selection (reserved.)
VBUF1SEL voice buffer 1 input selection
001: voice DAC output
010: external FM radio input
100: audio DAC output
OTHERS: reserved.
VADCINMODE Voice-band ADC output mode.
0: normal operating mode
1: the ADC input from the DAC output
VDACINMODE Voice-band DAC input mode.
0: normal operating mode
1: the DAC input from the ADC output

AFE_VAPDN_C
ON

Bit

15

14

Name
Type
Reset

Co
nf
id
en
tia
l

MIXED+010Ch AFE Voice Analog Power Down Control Register
13

12

11

10

9

8

7

6

5

4

3

2

1
0
VPDN VPDN
VPDN VPDN VPDN VPDN
_OUT _OUT
_BIAS _LNA _ADC _DAC
1
0
R/W R/W R/W R/W R/W R/W
0
0
0
0
0
0

Set this register to power up analog blocks. 0: power down, 1: power up.
VPDN_BIAS bias block
VPDN_LNAlow noise amplifier block
VPDN_ADC
ADC block
VPDN_DAC
DAC block
VPDN_OUT1 OUT1 buffer block
VPDN_OUT0 OUT0 buffer block

Bit

MT
K

MIXED+0110h AFE Voice AGC Control Register
Name
Type
Reset

15

14

AFE_VAGC_CO
N

13
12
11
10
9
8
7
6
5
4
3
2
1
0
AGCT RELNOIDUR RELNOILEV
ATTC HYST AGCE
FRELCKSEL SRELCKSEL ATTTHDCAL
EST
SEL
SEL
KSEL EREN N
R/W
R/W
R/W
R/W
R/W
R/W
R/W R/W R/W
0
00
00
00
00
00
0
0
0

596/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Set this register for analog circuit configuration controls. There are several loop back modes and test modes implemented
for test purposes. Suggested value is 0dcfh.
AGCEN

AGC hysteresis function enable

ATTCKSEL

attack clock selection

12.2.7

Co
nf
id
en
tia
l

0: 16 KHz
1: 32 KHz
ATTTHDCAL attack threshold calibration
SRELCKSEL release slow clock selection
00: 1000/512 Hz
01: 1000/256 Hz
10: 1000/128 Hz
11: 1000/64 Hz
FRELCKSEL release fast clock selection
00: 1000/64 Hz
01: 1000/32 Hz
10: 1000/16 Hz
11: 1000/8 Hz
RELNOILEVSEL
release noise level selection
00: -8 dB
01: -14 dB
10: -20 dB
11: -26 dB
RELNOIDURSEL
release noise duration selection
00: 64 ms
01: 32 ms
10: 16 ms
11: 8 ms, 32768/4096

Re
lea
se

HYSTEREN

fo
r

AGC function enable

Audio Front-end

MCU APB bus registers for audio are listed as followings.

MIXED+0200h AFE Audio Analog Gain Control Register
Bit

15

Name

13

12

11

10

9
8
AMUT AMUT
ER
EL
R/W R/W
0
0

7

6

5

4

3

2

1

APGR

APGL

R/W
0000

R/W
0000

0

MT
K

Type
Reset

14

AFE_AAG_CON

Set this register for analog PGA gains.
AMUTER
AMUTEL

audio PGA L-channel mute control
audio PGA R-channel mute control

597/616

MediaTek Inc. Confidential

APGR
APGL

audio PGA R-channel gain control
audio PGA L-channel gain control

MIXED+0204h AFE Audio Analog-Circuit Control Register
15

14

13

12

Name
Type
Reset

11
ARCO
N
R/W
0

10

9

8

7

6

AFE_AAC_CON
5

4

3

2

ABUFSELR

ABUFSELL

ACALI

R/W
000

R/W
000

R/W
00000

1

0

fo
r

Bit

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Set this register for analog circuit configuration controls.

Co
nf
id
en
tia
l

Re
lea
se

ARCON
audio external RC control
ABUFSELR
audio buffer R-channel input selection
000: audio DAC R/L-channel output; stereo to mono
001: audio DAC R-channel output
010: voice DAC output
100: external FM R/L-channel radio output, stereo to mono
101: external FM R-channel radio output
OTHERS: reserved.
ABUFSELL audio buffer L-channel input selection
000: audio DAC R/L-channel output; stereo to mono
001: audio DAC L-channel output
010: voice DAC output
100: external FM R/L-channel radio output, stereo to mono
101: external FM L-channel radio output
OTHERS: reserved.
ACALI
audio bias current control, in 2’s complement format

AFE_AAPDN_C
ON

MIXED+0208h AFE Audio Analog Power Down Control Register
Bit

15

Name
Type
Reset

14

13

12

11

10

9

8

7

ACNR

R/W
000000

6

5

4

3
2
1
0
APDN APDN APDN APDN
APDN
_DAC _DAC _OUT _OUT
_BIAS
R
L
R
L
R/W R/W R/W R/W R/W
0
0
0
0
0

Set this register to power up analog blocks. 0: power down, 1: power up. Suggested value is 00ffh.

MT
K

ACNR audio click noise reduction
APDN_BIAS
BIAS block
APDN_DACR
R-channel DAC block
APDN_DACL
L-channel DAC block
APDN_OUTR
R-channel OUT buffer block
APDN_OUTL
L-channel OUT buffer block

598/616

MediaTek Inc. Confidential

12.2.8

Reserved

Some registers are reserved for further extensions.

RES0_AC_CON
0

MIXED+0800h Reserved 0 Analog Circuit Control Register 0
14

13

12

11

10

9

8

7

6

5

4

3

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MIXED+0804h Reserved 0 Analog Circuit Control Register 1
14

13

12

11

10

9

8

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

13

12

11

10

9

8

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

14
R/W
0

14
R/W
0

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

RES1_AC_CON
1

13

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

RES2_AC_CON
0

13

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

13

MT
K

14
R/W
0

RES1_AC_CON
0

7

RES2_AC_CON
1

MIXED+0A04h Reserved 2 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

R/W
0

4

MIXED+0A00h Reserved 2 Analog Circuit Control Register 0
Bit
15
Name
Type R/W
0
Reset

R/W
0

5

MIXED+0904h Reserved 1 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

R/W
0

6

Co
nf
id
en
tia
l

14

0

7

MIXED+0900h Reserved 1 Analog Circuit Control Register 0
Bit
15
Name
Type R/W
Reset
0

1

RES0_AC_CON
1

Re
lea
se

Bit
15
Name
Type R/W
Reset
0

2

fo
r

Bit
15
Name
Type R/W
Reset
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

R/W
0

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

599/616

MediaTek Inc. Confidential

RES3_AC_CON
0

MIXED+0B00h Reserved 3 Analog Circuit Control Register 0
14

13

12

11

10

9

8

7

6

5

4

3

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MIXED+0B04h Reserved 3 Analog Circuit Control Register 1
10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

14

13

12

11

10

9

8

RES4_AC_CON
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

13

12

11

10

9

8

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

14
R/W
0

14
R/W
0

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

RES5_AC_CON0

13

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

RES5_AC_CON1

13

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

13

MT
K

14
R/W
0

RES4_AC_CON1

7

Co
nf
id
en
tia
l

14

MIXED+0E00h Reserved 6 Analog Circuit Control Register 0
Bit
15
Name
Type R/W
Reset
0

R/W
0

11

MIXED+0D04h Reserved 5 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

R/W
0

12

MIXED+0D00h Reserved 5 Analog Circuit Control Register 0
Bit
15
Name
Type R/W
Reset
0

R/W
0

13

MIXED+0C04h Reserved 4 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

0

14

MIXED+0C00h Reserved 4 Analog Circuit Control Register 0
Bit
15
Name
Type R/W
Reset
0

1

RES3_AC_CON
1

Re
lea
se

Bit
15
Name
Type R/W
Reset
0

2

fo
r

Bit
15
Name
Type R/W
Reset
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

R/W
0

RES6_AC_CON0

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

600/616

MediaTek Inc. Confidential

MIXED+0E04h Reserved 6 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

RES6_AC_CON1

14

13

12

11

10

9

8

7

6

5

4

3

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

MIXED+0F00h Reserved 7 Analog Circuit Control Register 0

1

0

R/W
0

R/W
0

R/W
0

RES7_AC_CON0

14

13

12

11

10

9

8

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

Re
lea
se

MIXED+0F04h Reserved 7 Analog Circuit Control Register 1
Bit
15
Name
Type R/W
Reset
0

2

fo
r

Bit
15
Name
Type R/W
Reset
0

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

14

13

12

11

10

9

8

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

12.3

Programming Guide

12.3.1

BBRX Register Setup

RES7_AC_CON1

7

6

5

4

3

2

1

0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

R/W
0

The register used to control analog base-band receiver is BBRX_AC_CON.

Programmable Biasing Current

Co
nf
id
en
tia
l

12.3.1.1

To maximize the yield in modern digital process, the receiver features providing 5-bit 32-level programmable current to
bias internal analog blocks. The 5-bits registers CALBIAS [4:0] is coded with 2’s complement format.

12.3.1.2

Offset / Gain Calibration

MT
K

The base-band downlink receiver (RX), together with the base-band uplink transmitter (TX) introduced in the next section,
provides necessary analog hardware for DSP algorithm to correct the mismatch and offset error. The connection for
measurement of both RX/TX mismatch and gain error is shown in Figure 75, and the corresponding calibration procedure
is described below.

601/616

MediaTek Inc. Confidential

Figure 75 Base-band A/D and D/A Offset and Gain Calibration

12.3.1.3

Re
lea
se

fo
r

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Downlink RX Offset Error Calibration

Co
nf
id
en
tia
l

The RX offset measurement is achieved by selecting grounded input to A/D converter (set ISEL [1:0] =’11’ and QSEL [1:0]
=’11’ to select channel 3 of the analog input multiplexer, as shown in Figure 76. The output of the ADC is sent to DSP for
further offset cancellation. The offset cancellation accuracy depends on the number of samples being converted. That is,
more accurate measurement can be obtained by collecting more samples followed by averaging algorithm.

Figure 76 Downlink ADC Offset Error Measurement

12.3.1.4

Downlink RX and Uplink TX Gain Error Calibration

MT
K

To measure the gain mismatch error, both I/Q uplink TXs should be programmed to produce full-scale pure sinusoidal
waves output. Such signals are then fed to downlink RX for A/D conversion, in the following two steps.

602/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
A. The uplink I-channel output are connected to the downlink I-channel input, and the uplink Q-channel output are
connected to the downlink Q-channel input. This can be achieved by setting ISEL [1:0] =’01’ and QSEL [1:0] =’01’
(shown in Figure 77 (A))..

Re
lea
se

fo
r

B. The uplink I-channel output are then connected to the downlink Q-channel input, and the uplink Q-channel output are
connected to the downlink I-channel input. This can be achieved by setting ISEL [1:0] =’10’ and QSEL [1:0] =’10’
(shown in Figure 77 (B)).

Co
nf
id
en
tia
l

Figure 77 Downlink RX and Up-link TX Gain Mismatch Measurement (A) I/Q TX connect to I/Q RX (B) I/Q TX connect
to Q/I RX
Once above successive procedures are completed, RX/TX gain mismatch could be easily obtained because the amplitude
mismatch on RX digitized result in step A and B is the sum and difference of RX and TX gain mismatch, respectively.
The gain error of the downlink RX can be corrected in the DSP section and the uplink TX gain error can be corrected by the
gain trimming facility that TX block provide.

12.3.1.5

Uplink TX Offset Error Calibration

Once the offset of the downlink RX is known and corrected, the offset of the uplink TX alone could be easily estimated.
The offset error of TX should be corrected in the digital domain by means of the programmable feature of the digital
GMSK modulator.
Finally, it is important that above three calibration procedures should be exercised in order, that is, correct the RX offset
first, then RX/TX gain mismatch, and finally TX offset. This is owing to that analog gain calibration in TX will affect its
offset, while the digital offset correction has no effect on gain.

12.3.2

BBTX Register Setup

MT
K

The register used to control analog base-band transmitter is BBTX_AC_CON0 and BBTX_AC_CON1.

603/616

MediaTek Inc. Confidential

12.3.2.1

Output Gain Control

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

The output swing of the uplink transmitter is controlled by register GAIN [2:0] coded in 2’s complement with about 2dB
step. When TRIMI [3:0] / TRIMQ [3:0] = 0 the swing is listed in Table 82, defined to be the difference between positive
and negative output signal.
Output Swing

For AVDD=2.8 (V)

+3 (011)

AVDD*0.900 (+6.02 dB)

2.52

+2 (010)

AVDD*0.720 (+4.08 dB)

2.02

+1 (001)

AVDD*0.576 (+2.14 dB)

1.61

+0 (000)

AVDD*0.450 (+0.00 dB)

1.26

-1 (111)

AVDD*0.360 (-1.94 dB)

1

-2 (110)

AVDD*0.288 (-3.88 dB)

0.81

-3 (101)

AVDD*0.225 (-6.02 dB)

0.63

-4 (100)

AVDD*0.180 (-7.95 dB)

0.5

Re
lea
se

fo
r

GAIN [2:0]

Table 82 Output Swing Control Table

12.3.2.2

Output Gain Trimming

MT
K

Co
nf
id
en
tia
l

I/Q channels can also be trimmed separately to compensate gain mismatch in the base-band transmitter or the whole
transmission path including RF module. The gain trimming is adjusted in 16 steps spread from –1.18dB to +1.18dB (Table
83), compared to the full-scale range set by GAIN [2:0].
TRIMI [3:0] / TRIMQ [3:0]

Gain Step (dB)

+7 (0111)

1.18

+6 (0110)

1.00

+5 (0101)

0.83

+4 (0100)

0.66

+3 (0011)

0.49

+2 (0010)

0.32

+1 (0001)

0.16

+0 (0000)

0.00

-1 (1111)

-0.16

-2 (1110)

-0.31

-3 (1101)

-0.46

-4 (1100)

-0.61

-5 (1011)

-0.75

-6 (1010)

-0.90

-7 (1001)

-1.04

604/616

MediaTek Inc. Confidential

-8 (1000)

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
-1.18

Table 83 Gain Trimming Control Table

12.3.2.3

Output Common-Mode Voltage

Common-Mode Voltage

+3 (011)

AVDD*0.62

+2 (010)

AVDD*0.58

+1 (001)

AVDD*0.54

+0 (000)

AVDD*0.50

-1 (111)

AVDD*0.46

-2 (110)
-3 (101)
-4 (100)

Re
lea
se

CMV [2:0]

fo
r

The output common-mode voltage is controlled by CMV [2:0] with about 0.08*AVDD step, as listed in the following table.

AVDD*0.42

AVDD*0.38

AVDD*0.34

Table 84 Output Common-Mode Voltage Control Table

12.3.2.4

Programmable Biasing Current

The transmitter features providing 5-bit 32-level programmable current to bias internal analog blocks. The 5-bits registers
CALBIAS [4:0] is coded with 2’s complement format.

Smoothing Filter Characteristic

Co
nf
id
en
tia
l

12.3.2.5

The 2nd –order Butterworth smoothing filter is used to suppress the image at DAC output: it provides more than 40dB
attenuation at the 4.44MHz sampling frequency. To tackle with the digital process component variation, programmable
cutoff frequency control bits CALRCSEL [2:0] are included. User can directly change the filter cut-off frequency by
different CALRCSEL value (coded with 2’s complement format and with a default value 0). In addition, an internal
calibration process is provided, by setting START CALRC to high and CALRCCNT to an appropriate value (default is 11).
After the calibration process, the filter cut-off frequency is calibrated to 350kHz +/- 50 kHz and a new CALRCOUT value
is stored in the register. During the calibration process, the output of the cell is high-impedance.

12.3.3

AFC-DAC Register Setup

The register used to control the APC DAC is AFC_AC_CON, which providing 5-bit 32-level programmable current to bias
internal analog blocks. The 5-bits registers CALI [4:0] is coded with 2’s complement format.

12.3.4

APC-DAC Register Setup

MT
K

The register used to control the APC DAC is AFC_AC_CON, which providing 5-bit 32-level programmable current to bias
internal analog blocks. The 5-bits registers CALI [4:0] is coded with 2’s complement format.

12.3.5

Auxiliary A/D Conversion Register Setup

The register used to control the Aux-ADC is AUX_AC_CON. For this register, which providing 5-bit 32-level

605/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

programmable current to bias internal analog blocks. The 5-bits registers CALI [4:0] is coded with 2’s complement format.

12.3.6

Voice-band Blocks Register Setup

The registers used to control AMB are AFE_VAG_CON, AFE_VAC_CON0, AFE_VAC_CON1, and AFE_VAPDN_CON.
For these registers, please refer to chapter “Analog Chip Interface”

Reference Circuit

fo
r

12.3.6.1

The voice-band blocks include internal bias circuits, a differential bandgap voltage reference circuit and a differential
microphone bias circuit. Internal bias current could be calibrated by varying VCALI[4:0] (coded with 2’s complement
format).

Symbol

Parameter

Min

V0dBm0,UP 0dBm0 Voltage for Uplink Path, Applied
Differentially Between Positive and
Negative Microphone Input Pins

0dBm0 voltage for Downlink Path,
Appeared Differentially Between Positive
and Negative Power Amplifier Output Pins

Typical

Max

Unit

0.2V

V-rms

0.6V

V-rms

Co
nf
id
en
tia
l

V0dBm0,Dn

Re
lea
se

The differential bandgap circuit generates a low temperature dependent voltage for internal use. For proper operation, there
should be an external 47nF capacitor connected between differential output pins AU_VREFP and AU_VREFN. The
bandgap voltage (~1.24V7, typical) also defines the dBm0 reference level through out the audio mixed-signal blocks. The
following table illustrates typical 0dBm0 voltage when uplink/downlink programmable gains are unity. For other gain
setting, 0dBm0 reference level should be scaled accordingly.

Table 85 0dBm0 reference level for unity uplink/downlink gain

The microphone bias circuit generates a differential output voltage between AU_MICBIAS_P and AU_MICBIAS_N for
external electret type microphone. Typical output voltage is 1.9 V. In singled-ended mode, by set VCFG[3] =1,
AU_MICBIAS_N is pull down while output voltage is present on AU_MICBIAS_P, respect to ground. The max current
supplied by microphone bias circuit is 2mA.

12.3.6.2

Uplink Path

Uplink path of voice-band blocks includes an uplink programmable gain amplifier and a sigma-delta modulator.
12.3.6.2.1

Uplink Programmable Gain Amplifier

Input to the PGA is a multiplexer controlled by VCFG [3:0], as described in the following table. In normal operation, both
input AC and DC coupling are feasible for attenuation the input signal (gain <= 0dB). However, only AC coupling is
suggested if amplification of input signal is desired (gain>=0dB).

7

Function

Descriptions

MT
K

Control

The bandgap voltage could be calibrated by adjusting control signal VBG_CTRL[1:0]. Its default value is [00].
VBG_CTRL not only adjust the bandgap voltage but also vary its temperature dependence. Optimal value of VBG_CTRL
is to be determined.

606/616

MediaTek Inc. Confidential

Signal
VCFG [0]

Input Selector

VCFG [1]

Coupling Mode 0: AC Coupling
1: DC Coupling

VCFG [2]

Gain Mode

0: Amplification Mode (gain >= 0 dB)
1: Attenuation Mode (gain <= 0dB)

VCFG [3]

Microphone
Biasing

0: Differential Biasing (Take Bias Voltage Between AU_MICBIAS_P
and AU_MICBIAS_N)
1: Signal-Ended Biasing (Take Bias Voltage From AU_MICBIAS_P
Respected to Ground. AU_MICBIAS_N Is Connected to Ground)

fo
r

0: Input 0 (From AU_VIN0_P / AU_VIN0_N) Is Selected
1: Input 1 (From AU_VIN1_P / AU_VIN1_N) Is Selected

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Re
lea
se

Table 86 Uplink PGA input configuration setting
The PGA itself provides programmable gain (through VUPG [3:0]) with step of 3dB, as listed in the following table.
VCFG [2] =’0’

VCFG [2] =’1’
Gain

VUPG [3:0]

Gain

1111

NA

X111

-21dB

1110

42dB

X110

-18dB

1101

39dB

X101

-15dB

1100

36dB

X100

-12dB

1011

33dB

X011

-9dB

1010

30dB

X010

-6dB

Co
nf
id
en
tia
l

VUPG [3:0]

1001

27dB

X001

-3dB

1000

24dB

X000

0dB

0111

21dB

0110

18dB

0101

15dB

0100

12dB

0011

9dB

0010

6dB

0001

3dB

0000

0dB

Table 87 Uplink PGA gain setting (VUPG [3:0])

The following table illustrates typically the 0dBm0 voltage applied at the microphone inputs, differentially, for several gain
settings.

MT
K

VCFG [2] =’0’

VCFG [2] =’1’

VUPG [3:0]

0dBm0 (V-rms)

VUPG [3:0]

0dBm0 (V-rms)

1100

3.17mV

X110

1.59V

1000

12.6mV

X100

0.8V

607/616

MediaTek Inc. Confidential

0100

50.2mV

X010

0.4V

0000

0.2V

X000

0.2V

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Table 88 0dBm0 voltage at microphone input pins
12.3.6.2.2

Sigma-Delta Modulator

fo
r

Analog-to-digital conversion in uplink path is made with a second-order sigma-delta modulator (SDM) whose sampling
rate is 4096kHz. Output signals are coded in either one-bit or RSD format, optionally controlled by VRSDON register.

For test purpose, one can set VADCINMODE to HI to form a look-back path from downlink DAC output to SDM input.
The default value of VADCINMODE is zero.

12.3.6.3

Downlink Path

12.3.6.3.1

Re
lea
se

Downlink path of voice-band blocks includes a digital to analog converter (DAC) and two programmable output power
amplifiers.
Digital to Analog Converter

The DAC converts input bit-stream to analog signal by sampling rate of 4096kHz. . Besides, it performs a 2nd-order 40kHz
butterworth filtering. The DAC receives input signals from MT6228 DSP by set VDACINMODE = 0. It can also take
inputs from SDM output by setting VDACINMODE = 1.
12.3.6.3.2

Downlink Programmable Power Amplifier

Co
nf
id
en
tia
l

Voice-band analog blocks include two identical output power amplifiers with programmable gain. Amplifier 0 and amplifier
1 can be configured to either differential or single-ended mode by adjusting VDSEND [0] and VDSEND [1], respectively.
In single-ended mode, when VDSEND[0] =1, output signal is present at AU_VOUT0_P pin respect to ground. Same as
VDSEND[1] for AU_VOUT1_P pin.
For the amplifier itself, programmable gain setting is described in the following table.
Gain

1111

8dB

1110

6dB

1101

4dB

1100

2dB

1011

0dB

1010

-2dB

1001

-4dB

1000

-6dB

0111

-8dB

0110

-10dB

MT
K

VDPG0 [3:0] / VDPG1 [3:0]

0101

-12dB

0100

-14dB

0011

-16dB

608/616

MediaTek Inc. Confidential

0010

-18dB

0001

-20dB

0000

-22dB

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

Table 89 Downlink power amplifier gain setting

fo
r

Control signal VFLOAT, when set to ‘HI’, is used to make output nodes totally floating in power down mode. If VFLOAT
is set to ‘LOW” in power down mode, there will be a resistor of 50k ohm (typical) between AU_VOUT0_P and
AU_VOUT0_N, as well as between AU_VOUT0_P and AU_VOUT0_N.

VDPG

Output Signal
Level (V-rms)

0010

0.11

0110

0.27

1010

0.69

1110

1.74

Re
lea
se

The amplifiers deliver signal power to drive external earphone. The minimum resistive load is 28 ohm and the upper limit
of the output current is 50mA. On the basis that 3.14dBm0 digital input signal into downlink path produces DAC output
differential voltage of 0.87V-rms (typical), the following table illustrates the power amplifier output signal level (in V-rms)
and signal power for an external 32 ohm resistive load.
Output Signal Power
(mW / dBm)

0.37/-4.3

2.28/3.6

14.8/11.7

94.6/19.8

Table 90 Output signal level/power for 3.14dBm0 input. External resistive load = 32 ohm
The following table illustrates the output signal level and power for different resistive load when VDPG =1110.
Output Signal
Level (V-rms)

Output Signal Power
(mW / dBm)

30

1.74

101/20

100

1.74

30.3/14.8

600

1.74

5/7

Co
nf
id
en
tia
l

RLOAD

Table 91 Output signal level/power for 3.14dBm0 input, VDPG =1110

12.3.6.4

Power Down Control

Each block inside audio mixed-signal blocks features dedicated power-down control, as illustrated in the following table.
Control
Signal

Descriptions

VPDN_BIAS Power Down Reference Circuits (Active Low)
Power Down Uplink PGA (Active Low)

VPDN_ADC

Power Down Uplink SDM (Active Low)

MT
K

VPDN_LNA

VPDN_DAC

Power Down DAC (Active Low)

VPDN_OUT0 Power Down Downlink Power Amp 0 (Active Low)
VPDN_OUT1 Power Down Downlink Power Amp 1 (Active Low)

609/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0
Table 92 Voice-band blocks power down control

12.3.7

Audio-band Blocks Register Setup

The registers used to control audio blocks are AFE_AAG_CON, AFE_AAC_CON, and AFE_AAPDN_CON. For these
registers, please refer to chapter “Analog Chip Interface”

12.3.7.1

Output Gain Control

Re
lea
se

fo
r

Audio blocks include stereo audio DACs and programmable output power amplifiers. The DACs convert input bit-stream
to analog signal by sampling rate of Fs*128 where Fs could be 32kHz, 44.1kHz, or 48kHz. Besides, it performs a 2nd-order
butterworth filtering. The two identical output power amplifiers with programmable gain are designed to driving external
AC-coupled single-end speaker. The minimum resistor load is 16 ohm and the maximum driving current is 50mA. The
programmable gain setting, controlled by APGR[] and APGL[], is the same as that of the voice-band amplifiers.
Unlike voice signals, 0dBFS defines the full-scale audio signals amplitude. Based on bandgap reference voltage again, the
following table illustrates the power amplifier output signal level (in V-rms) and signal power for an external 16 ohm
resistive load.
APGR[]/
APGL[]

Output Signal
Level (V-rms)

0010

0.055

0110

0.135

1010

0.345

1110

0.87

Output Signal Power
(mW / dBm)

0.19/-7.2

1.14/0.6

7.44/8.7

47.3/16.7

12.3.7.2

Co
nf
id
en
tia
l

Table 93 Output signal level/power for 0dBFS input. External resistive load = 16 ohm

Mute Function and Power Down Control

By setting AMUTER (AMUTEL) to high, right (Left) channel output will be muted.
Each block inside audio mixed-signal blocks features dedicated power-down control, as illustrated in the following table.
Control Signal Descriptions
APDN_BIAS

Power Down Reference Circuits (Active Low)

APDN_DACL Power Down L-Channel DAC (Active Low)
APDN_DACR Power Down R-Channel DAC (Active Low)
APDN_OUTL Power Down L-Channel Audio Amplifier (Active Low)
APDN_OUTR Power Down R-Channel Audio Amplifier (Active Low)
Table 94 Audio-band blocks power down control

Multiplexers for Audio and Voice Amplifiers

MT
K

12.3.8

The audio/voice amplifiers feature accepting signals from various signal sources including AU_FMINR/AU_FMINL pins,
that aimed to receive stereo AM/FM signal from external radio chip:
1) Voice-band amplifier 0 accepts signals from voice DAC output only.
610/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

2) Voice-band amplifier 1 accepts signal from either voice DAC, audio DAC, or AM/FM radio input pins (controlled
by register VBUF1SEL[] ). For the last two cases, left and right channel signals will be summed together to form a
mono signal first.

3) Audio left/right channel amplifiers receive signals from either voice DAC, audio DAC, or AM/FM radio input pins
(controlled by registers ABUFSELL[] and ABUFSELR[] ), too. Left and right channel amplifiers will produce
identical output waveforms when receiving mono signals from voice DAC.

Clock Squarer Register Setup

fo
r

12.3.9

The register used to control clock squarer is CLK_CON. For this register, please refer to chapter “Clocks”
CLKSQ_PLD is used to bypass the clock squarer.

Re
lea
se

12.3.10 Phase-Locked Loop Register Setup

For registers control the PLL, please refer to chapter “Clocks” and “Software Power Down Control”

12.3.10.1 Frequency Setup

The DSP/MCU PLL itself could be programmable to output either 52MHz or 78MHz clocks. Accompanied with additional
digital dividers, 13/26/39/52/65/78 MHz clock outputs are supported.

12.3.10.2 Programmable Biasing Current

Co
nf
id
en
tia
l

The PLLs feature providing 5-bit 32-level programmable current to bias internal analog blocks. The 5-bits registers CALI
[4:0] is coded with 2’s complement format.

12.3.11 32-khz Crystal Oscillator Register Setup
For registers that control the oscillator, please refer to chapter “Real Time Clock” and “Software Power Down Control”.
XOSCCALI[4:0] is the calibration control registers of the bias current, and is coded with 2’s complement format.
CL is the parallel combination of C1 and C2 in the block diagram.

MT
K

1

611/616

MediaTek Inc. Confidential

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

13 Digital Pin Electrical Characteristics
Based on I/O power supply (VDD33) = 3.3 V
Vil (max) = 0.8 V
Vih (min) = 2.0 V
Dir

Driving Iol &
Ioh Typ (mA)

Vol at Iol Max Voh at Ioh Min PU/PD Resistor
(V)
(V)
Min
Typ

JTAG Port

BPI_BUS0
BPI_BUS1
BPI_BUS2
BPI_BUS3
BPI_BUS4
BPI_BUS5
BPI_BUS6
BPI_BUS7
BPI_BUS8
BPI_BUS9

I
I
I
I
O
O

4
4

O
O
O
O
O
O
IO
IO
IO
IO

RF Parallel Control Unit
2/8
0.4
2/8
0.4
2/8
0.4
2/8
0.4
2
0.4
2
0.4
2
0.4
2
0.4
2
0.4
2
0.4

0.4
0.4

Cin
(pF)

Max

40K
40K
40K
40K

75K
75K
75K
75K

190K
190K
190K
190K

PD
PU
PU
PU

2
2
2
2

40K
40K
40K
40K

75K
75K
75K
75K

190K
190K
190K
190K

PD
PD
PD
PD

2
2
2
2

Re
lea
se

G5
G4
G3
G1
J6
H5
H4
H3
H2
J5

JTRST#
JTCK
JTDI
JTMS
JTDO
JRTCK

2.4
2.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

Co
nf
id
en
tia
l

E4
F5
F4
F3
F2
F1

Pull

fo
r

Ball
Name
13x13

RF Serial Control Unit

J4
J3
J2

BSI_CS0
BSI_DATA
BSI_CLK

R4
R3
R2

PWM1
PWM2
ALERTER

J1
K5
K4
K3
K2

LSCK
LSA0
LSDA
LSCE0#
LSCE1#

O
O
O

2
2
2

IO
IO
IO

2
2
2

IO
IO
IO
IO
IO

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4
0.4
0.4

2.4
2.4
2.4

0.4
0.4
0.4

2.4
2.4
2.4

40K
40K
40K

75K
75K
75K

190K
190K
190K

PD
PD
PD

2
2
2

2.4
2.4
2.4
2.4
2.4

40K
40K
40K
40K
40K

75K
75K
75K
75K
75K

190K
190K
190K
190K
190K

PU
PU
PU
PU
PU

2
2
2
2
2

2.4

40K

75K

190K

PU

2

PWM Interface

Serial LCD/PM IC Interface
0.4
0.4
0.4
0.4
0.4

K6
L5
L4
L3

MT
K

Parallel LCD/NAND-Flash
Interface

LPCE1#
LPCE0#
LRST#
LRD#

IO
O
O
O

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4

612/616

MediaTek Inc. Confidential

O
O
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K
40K

75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K
75K

190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K
190K

PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PD
PU
PD
PD
PU
PU
PU

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

40K

75K

190K

PD

2
2

40K
40K
40K
40K

75K
75K
75K
75K

190K
190K
190K
190K

PD
PD
PU
PU

2
2
2
2
2
2
2
2
2
2

fo
r

LPA0
LWR#
NLD17
NLD16
NLD15
NLD14
NDL13
NLD12
NLD11
NLD10
NLD9
NLD8
NLD7
NLD6
NLD5
NLD4
NLD3
NLD2
NLD1
NLD0
NRNB
NCLE
NALE
NWE#
NRE#
NCE#

Re
lea
se

L2
L1
G7
J9
K9
J10
L9
K10
J11
L10
K11
L11
L6
M5
M4
M3
N5
N4
N3
N2
N1
P5
P4
P3
P2
P1

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

M19
L16
L17
L18
L19

SIMRST
SIMCLK
SIMVCC
SIMSEL
SIMDATA

U3
U1
D17
C19
C18
C17
A19
B18
A18
A17

GPIO0
GPIO1
GPIO2
GPIO3
GPIO4
GPIO5
GPIO6
GPIO7
GPIO8
GPIO9

T2
R16
T1
T4
T3

SYSRST#
WATCHDOG#
SRCLKENAN
SRCLKENA
SRCLKENAI

Co
nf
id
en
tia
l

SIM Card Interface

O
O
O
IO
IO

2
2
2
2/4/6/8
2

IO
IO
IO
IO
IO
IO
IO
IO
IO
IO

2
2
2
2
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
4
4

0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4

Dedicated GPIO Interface
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4

Miscellaneous

MT
K

I
O
O
O
IO

2
4
2
2
2

613/616

40K

75K

190K

PD

2

MediaTek Inc. Confidential

E5
D15

TESTMODE
ESDM_CK

I
O

40K

75K

190K

PD

2

40K
40K
40K
40K
40K
40K
40K

75K
75K
75K
75K
75K
75K
75K

190K
190K
190K
190K
190K
190K
190K

PU
PU
PU
PU
PU
PU
PU

2
2
2
2
2
2
2

190K
190K
190K
190K
190K
190K

PU
PU
PU
PU
PU
PU

2
2
2
2
2
2

I
I
I
I
I
I
I
O
O
O
O
O
O

U2
V1
W1
V2
U4
B17

EINT0
EINT1
EINT2
EINT3
MIRQ
MFIQ

I
I
I
I
I
I

4
2/4/6/8

R15
T19
T18
U19
U18
V19
W19
W18
U17
W17
T16
U16
V16
T15
U15
W15
P12
T12
U12
V12
P11
R11
R14
T14
W14

ED0
ED1
ED2
ED3
ED4
ED5
ED6
ED7
ED8
ED9
ED10
ED11
ED12
ED13
ED14
ED15
ERD#
EWR#
ECS0#
ECS1#
ECS2#
ECS3#
EWAIT
ECAS#
ERAS#

IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
IO
O
O
O
O
O
O
O
O
O

External Memory Interface
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
0.4
2~32
2~32
0.4
2~32
0.4

2
2
2
2
2
2
2
2/8
2/8
2/8
2/8
2
2

0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4

External Interrupt Interface

2.4
2.4

40K
40K
40K
40K
40K
40K

75K
75K
75K
75K
75K
75K

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

MT
K

Co
nf
id
en
tia
l

0.4
0.4

Re
lea
se

KCOL6
KCOL5
KCOL4
KCOL3
KCOL2
KCOL1
KCOL0
KROW5
KROW4
KROW3
KROW2
KROW1
KROW0

fo
r

Keypad Interface
H17
H18
H19
G15
G16
G17
G18
G19
F15
F16
F17
E16
E17

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

40K

75K

190K

PU

2.4
2.4

614/616

MediaTek Inc. Confidential

MCCM0
MCDA0
MCDA1
MCDA2
MCDA3
MCCK
MCPWRON
MCWP
MCINS

2~32
2~32
2~32
2~32
10
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32
2~32

0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

IO
IO
IO
IO
IO
O
O
I
I

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2
2
2

0.4
0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4

fo
r

P17
P18
P19
N17
N18
M18
N19
M16
M17

O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O

Re
lea
se

ECKE
EDCLK
ELB#
EUB#
EPDN#
EADV#
ECLK
EA0
EA1
EA2
EA3
EA4
EA5
EA6
EA7
EA8
EA9
EA10
EA11
EA12
EA13
EA14
EA15
EA16
EA17
EA18
EA19
EA20
EA21
EA22
EA23
EA24
EA25

Co
nf
id
en
tia
l

R13
T13
V13
W13
T11
W11
V11
P10
T10
U10
W10
R9
T9
U9
V9
R8
T8
W8
P8
R7
U7
V7
W7
T6
U6
W6
R5
T5
U5
V5
W4
V4
W3

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

40K
40K
40K
40K
40K

75K
75K
75K
75K
75K

190K
190K
190K
190K
190K

PU/PD
PU/PD
PU/PD
PU/PD
PU/PD

2
2
2
2
2

40K
40K

75K
75K

190K
190K

PU/PD
PU/PD

2
2

40K

75K

190K

PU

2

40K

75K

190K

PU

2

40K

75K

190K

PU

2

UART/IrDA Interface
URXD1
UTXD1
UCTS1
URTS1
URXD2

I
O
I
O
IO

MT
K

K15
K16
K17
K18
K19

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4

2.4

0.4
0.4

2.4
2.4

615/616

MediaTek Inc. Confidential

J15
J16
J17
J19
H15
H16

UTXD2
URXD3
UTXD3
IRDA_RXD
IRDA_TXD
IRDA_PDN

IO
IO
IO
IO
IO
IO

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4

40K
40K
40K
40K
40K
40K

75K
75K
75K
75K
75K
75K

190K
190K
190K
190K
190K
190K

PU
PU
PU
PU
PU
PU

2
2
2
2
2
2

2.4
2.4
2.4
2.4
2.4

40K
40K
40K
40K
40K

75K
75K
75K
75K
75K

190K
190K
190K
190K
190K

PU
PD
PU
PU
PU

2
2
2
2
2

0.4
0.4

2.4
2.4

40K
40K
40K
40K
40K

75K
75K
75K
75K
75K

190K
190K
190K
190K
190K

PD
PD
PD
PD
PD

2
2
2
2
2

0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4
0.4

2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4
2.4

40K
40K
40K
40K
40K
40K
40K
40K
40K
40K

75K
75K
75K
75K
75K
75K
75K
75K
75K
75K

190K
190K
190K
190K
190K
190K
190K
190K
190K
190K

PD
PD
PD
PD
PD
PD
PD
PD
PD
PD

2
2
2
2
2
2
2
2
2
2

DAICLK
DAIPCMOUT
DAIPCMIN
DAIRST
DAISYNC

IO
IO
IO
IO
IO

2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

J12
K12
H12
H11
H9
H10
H8
J8
K8
L8
M8
M9
M10
M11
M12
L12

CMRST
CMPDN
CMVREF
CMHREF
CMPCLK
CMMCLK
CMDAT9
CMDAT8
CMDAT7
CMDAT6
CMDAT5
CMDAT4
CMDAT3
CMDAT2
CMDAT1
CMDAT0

IO
IO
I
I
I
O
I
I
I
I
I
I
I
I
IO
IO

2
2
2
2
2
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8
2/4/6/8

0.4
0.4
0.4
0.4
0.4

MT
K

Co
nf
id
en
tia
l

Re
lea
se

CMOS Sensor Interface

fo
r

Digital Audio Interface
E18
E19
D16
D19
D18

Ko
nk
a

MT6228 GSM/GPRS Baseband Processor Data Sheet Revision 1.0

616/616

MediaTek Inc. Confidential

www.s-manuals.com



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
XMP Toolkit                     : Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39
Producer                        : GNU Ghostscript 7.05
Create Date                     : 0-01-01T00:00:00Z
Modify Date                     : 2013:04:02 12:35:15+03:00
Metadata Date                   : 2013:04:02 12:35:15+03:00
Creator Tool                    : PScript5.dll Version 5.2.2
Document ID                     : uuid:b3628d24-c694-4391-a217-b17cc91d44e1
Instance ID                     : uuid:164455c1-2d09-406e-a4ac-151bbdee489c
Format                          : application/pdf
Title                           : MT6228 - Datasheet. www.s-manuals.com.
Creator                         : 
Subject                         : MT6228 - Datasheet. www.s-manuals.com.
Page Count                      : 617
Keywords                        : MT6228, -, Datasheet., www.s-manuals.com.
Warning                         : [Minor] Ignored duplicate Info dictionary
EXIF Metadata provided by EXIF.tools

Navigation menu