+ All Categories
Home > Documents > Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1...

Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1...

Date post: 18-May-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
74
Device Driver (MT6219) Liu Yong 20050310
Transcript
Page 1: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

Device Driver (MT6219)

Liu Yong20050310

Page 2: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

2

Overview

Layer 1Device Driver

BluetoothBluetooth

IrDAIrDA

SD/SD/MMMCMC

USBUSBAudioIn/Out

AudioCodec

Synthe-sizer

RF PMIC Module

LCDLCDDisplayDisplay

LCDLCDDisplayDisplay

MediaMediaICIC

CameraCameraTouchTouchPanelPanel

MMI

L4

Baseband Chipset

Accessories:

Bluetoothheadset

USB data cable

Page 3: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

3

MCU Clock

MCU_26M, MCU_52MMCU_13M, MCU_26M

MCU ClockMCU_CLOCK

EXT_13M, EXT_26MEXT_13M, EXT_26M

External PLL

EXT_CLOCK

MT6205B MT6218/MT6219

ChipsetDescriptionNotation

\mcu\make\ $(CUSTOM)_$(PROJECT).mak

Page 4: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

4

Boot up and Initialization

Receiving start-up pattern via UART1

within 150ms?

Boot fromBOOTROM

RESET NOSwitch PC to External

Device Bank #0

YES

META Mode

Assign Supervisor Mode SP

If abnormal resetIs detected?

NO

YESResponse the

abnormal reset

Configure EMI

Data copy from flash to SRAM

Assign SP to various operation modes defined by ARM CPU.

Application initialization

Receiving start-up pattern via UART1

within 150ms?

Boot fromBOOTROM

RESET NOSwitch PC to External

Device Bank #0

YES

META Mode

Assign Supervisor Mode SP

If abnormal resetIs detected?

NO

YESResponse the

abnormal reset

Configure EMI

Data copy from flash to SRAM

Assign SP to various operation modes defined by ARM CPU.

Application initialization

mcu\init\src\bootarm.s

mcu\init\src\ini.c

Page 5: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

5

Flash Configuration (Main differences between NOR & NAND)

interfaced serially via complicated I/O interface, which may vary from one device to another or from vendor to vendor. NAND is typically accessed in burst of 512 bytes. The same 8 pins convey control, address and data info.

Memory mapped, very similar to a random access device (RAM). Easy to access each byte of the entire media.

Interface

Over 10 times more than NORLess than 10% the life span of NAND.Life Span

100,000 – 1,000,00010,000 – 100,000Erase Cycles

Low:Requires 1-4 bit EDC/EEC due to bit-flipping issue.Requires bad block management.

Standard:Bit-flipping issues reportedLess than 10% the life span of NAND.

Reliability

Fast erase (3 ms)Fast writeFast read

VERY SLOW erase (5 sec)Slow writeFast read (slightly faster)

Performance

NoYeseXecute In Place (XIP) capabilities (Code Execution)

16MB – 512MB1MB – 32MBCapacity

NANDNOR

Page 6: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

6

Flash Configuration (Main differences between NOR & NAND)

SequentialRandomAccess Method

ComplicatedEasyEase-of-use (Hardware0

LowHighPrice

Data storage only – due to complicated flash management. Code will usually not be stored in raw NAND flash.Examples:PC CardsCompact FlashSecure DigitalMP3 players (music storage)Digital cameras (image storage)

Code storage – limited capacity due to price in high capacity. May store limited data as well.

Examples:Simple home appliancesEmbedded designsLow-end set top boxesLow-end mobile handsetsPC BIOS chips

Ideal Usage

Hard. A simplistic FFS driver may be ported.

EasyFull System Integration (Hardware & Software)

NANDNOR

Page 7: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

7

Flash ConfigurationNOR flash

..\mcu\custom\flash\XXX_BB\FlashConf.c5 steps configuration

Step4.

Set TOTAL_BLOCKS 23

Step5.

Set PARTITION_SECTORS 0

Step1.

FLASH_BASE_ADDRESS

Step3.

Set RegionInfo[]Step2.

ALLOCATED_FAT_SPACE = 0x100000

Page 8: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

8

Flash ConfigurationNAND flash

..\mcu\custom\flash\XXX_BB\NANDFlashConf.c3 steps configuration

Step1.

TOTAL_SIZES 32 // Mega Byte

Step2.

PAGES_PER_BLOCK 32 // 16 or 32

BLOCK:

Erase Unit

PAGE:

Program UnitPartition1

Partition2

Total FAT sectors

Partition 1 sectors = PARTITION_SIZE

Partition 2 sectors =Total FAT sectors - Partition 1 sectors

Step3.

PARTITION_SECTORS 0

Page 9: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

9

Flash ConfigurationNOR flash

..\mcu\custom\flash\XXX_BB\FlashConf.c

..\mcu\custom\system\XXX_BB\santXXX.txt5 steps configuration

Step1: Set FLASH_BASE_ADDRESSStep2: Set ALLOCATED_FAT_SPACE Step3: Set RegionInfo[]Step4: Set TOTAL_BLOCKSStep5: Set PARTITION_SECTORS

NAND flash..\mcu\custom\flash\XXX_BB\NANDFlashConf.c..\mcu\custom\system\XXX_BB\santXXX.txt3 steps configuration

Step1: Set TOTAL_SIZESStep2: Set PAGES_PER_BLOCK Step3: Set PARTITION_SECTORS

Page 10: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

10

Flash

Example: (32+8)Nor

Page 11: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

11

Flash

READ cycle

Write cycle

Refer to Baseband chip datasheet and system configuration guide for details of EMI.

ECLK

RLT+1EA

ECSn#

C2RSERD#

ED

EADV

RLT=4, C2RS=2

ECLK

WST+C2WH+2EA

ECSn#

C2WS C2WH+1EWR#

ED

EADV

WST=3, C2WS=2, C2WH=1

Page 12: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

12

Flash\mcu\custom\system\[XXX_BB]\custom_emi.c

Page 13: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

13

PMIC

Connection with BaseBand

PMIC

BaseBand

Ext. ChargerPowerOr USB

0.2 OHM

FET

VbatBat-TempBat-TypeBattery

Pack

ResetChr_DetChr-cntl

Pwr_BBSR_Clk_En

- Pwr_keyChr-drv

Vchr

ResetGPIOGPIO

BB_WakeupSR_Clk_En

Keypad

InterruptAux_ADC_1

Aux_ADC_2Aux_ADC_3Aux_ADC_4

Vd Va VioVrtc Vtcxo Vm Vsim

Charger

Bat_DetI-charger SIM…

GPIO

Page 14: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

14

SIM

PMIC/Level shift

SIM I/F(MT62xx)

SIMVCC,SIMSEL,SIMRST,SIMCLK

SIMDATA

VCC,RST, CLK,DATA

SIM Card

Page 15: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

15

SIM

T0

Any State

De-Activate->Activate

ATR PTS

Allow to accept MCU command

Page 16: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

16

SIMDriver State Diagram

SIM_WAIT_FOR_ATR

SIM_PROCESS_ATR

ATR fail

SIM_PROCESS_PTS

SIM_PROCESSCMD

Reset

CommandMiner State

PTS fail

SIM_SERIOUSERR

Page 17: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

17

SIMDriver State Diagram –Command minor state (T = 0 Controller)

SIM_WaitCmdEnd

SIM_ProcessClk CMD_Error/CMD_COMPLETE

L1sim_cmd(MajorState:

SIM_PROCESSCMD)

SIM_StopClk

Page 18: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

18

SIMGeneric Drivers

mcu\drv\src\simd.c : • Implement SIM protocol and interface for upper layer

•L1sim_PowerOff•L1sim_Reset•L1sim_Configure•L1sim_Cmd•L1sim_Init

mcu\drv\include\sim_hw.h : • SIM HW port definitions

mcu\interface\hwdrv\sim_al.h : • Definitions for Data structure, SIM Commands and etc

mcu\interface\hwdrv\sim_sw.h : • States, Protocol Constants and Macros for SIM protocol

Page 19: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

19

ADC

A channel used by auxiliary deviceBattery monitoringCharger controlPeripheral device detectionTemperature measurement

One physical channel may have many logical owners

Auto measureTDMA timer trigger

ADC Channel

ADC User 1 ADC User 2 ADC User 3

Page 20: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

20

ADC

customize\custom\drv\misc_drv\[PRJ]\adc_channel.c

5 ADC channels in MT6205B, 7 in MT6218B & MT6219Customized ADC channel definitions

Page 21: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

21

EINT

\custom\drv\misc_drv\[PRJ]\eint_def.cExternal Interrupt channel assignment

Channel assignment.De-bounce time delay setting.Example:

Page 22: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

22

AUX task

Plug-in Detection

UEM Task

5

MSG_ID_AUX_ID

According the return adc value to decide what is plug in

aux_read_adc_channel(aux_adc_logic_id);

(MSG_ID_BMT_ADC_ADD_ITEM_REQ)

BMT Task1Aux TaskExt_ISR 2

4MSG_ID_AUX_PLUGIN

MSG_ID_BMT_ADC_MEASURE_DONE_CONF

3

Page 23: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

23

AUX task

Plug- out Detection

UEM Task

MSG_ID_AUX_ID 2

BMT Task

aux_remove_adc_channel(kal_uint8 logic_id)(

(MSG_ID_BMT_ADC_REMOVE_ITEM_REQ)

3

Aux Task1

Ext_ISRMSG_ID_AUX_PLUGOUT

Page 24: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

24

AUX task

Send Key Detection

1.Ring 2.Hook up 3.Hang-up

Time

Aux stop turn on microphone bias and keep polling ADC value

Aux sop to poll ADC value

Aux start to poll ADC value

Page 25: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

25

AUX task

mcu\custom\drv\misc_drv\[PRJ]\aux_main.cAUX Task is to

detect earphone, UART plug-in and plug-out detect PTT-key press Support ADC report in Engineer mode

Page 26: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

26

AUX taskGeneric Driversmcu\interface\hwdrv\eint.h :External declaration and constant definitions for external INT.

Customizationmcu\custom\drv\misc_drv\ ”Custom_Proj” \aux_main.c : AUX Task to

To detect earphone, uart plug-in and plug out To detect send_end key press Support ADC report in Engineer mode

mcu\custom\drv\misc_drv\ ”Custom_Proj” \eint_def.c :Definition and query APIs for external INT channels,

e.g. AUX_EINT_NO = 0;CHRDET_EINT_NO = 1;CLAMDET_EINT_NO=2;

Page 27: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

27

BMT

MMI AUX task

ADC scheduler

Charging Algorithm BMT Task

ADC driver

NVRAM

PMICdriver

Page 28: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

28

BMTLi-Ion battery Charging Diagram

Page 29: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

29

BMT

Pre-charge state

Chargecomplete

state

Fast (CC)charge

state

Top -off (CV)charge state

Init state

Charger detected

Vbat_off > CHVBATOFF

I < ICHARGE1_LI

I < ICHARGE2_LI

Pause state

Vbat_off >CVPROTECT_HIGHand in talking mode

Vbat_off < CVPROTECT_LOW or in stand by

mode

Vbat_off < CHVBATOFF2_LI or NIVbat_off CVPROTECT_HIGHand in talking mode

Vbat_off >CVPROTECT_HIGHand in talking mode

Init safety timer

Vbat_off >CVPROTECT_HIGHand in talking mode

Page 30: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

30

Battery level Setting

Open \mcu\custom\drv\misc_drv\[project]\custom_hw_default.c and locate NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULTModify accordingly

Level 4------------------ 3.88VLevel 3------------------ 3.74VLevel 2------------------ 3.60VLevel 1------------------ 3.55VLow Battery ------------------ 3.40VMo Limit------------------ 3.39VPower Off

Bump up version of data itemNVRAM_EF_CUST_HW_LEVEL_TBL_LID

\mcu\custom\drv\misc_drv\[project]\custom_nvram_editor_data_item.h

Page 31: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

31

Keypad

Keypad ISR (Kbd_LISR)

Keypad Task&decoder (kbd_task_main)

KBD.event

Keypad-scanner Hardware

Key pressed Key Released

UEM Task

Keypad bufferMSG_ID_DRVUEM_KEYPAD_IND

Kbd_GetKeyData

Page 32: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

32

Keypad

BB Keypadkeypad Interface

MT6205B

MT6205B

KROW0

KROW1

KROW2

KROW3

KROW4

KCOL0 KCOL1 KCOL2 KCOL3

SEND

UP DOWNLEFT RIGHT

[ 1] [ 2] [ 3]

[ 4][ 5] [ 6][ 7]

[ 8] [ 9][ *] [ 0] [ #]

MenuP Book

KCOL4

PWROn/Off

OK

Null

Null Null

Null

Page 33: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

33

Keypad

\custom\drv\misc_drv\[PRJ]\keypad_def.cKeypad mapping definition

5X5 matrix in MT6205B7X6 matrix in MT6218B,MT6219

Page 34: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

34

Keypadplutommi\mmi\framewortk\osl\oslsrc\KeyBrd.cKeypad mapping definition

If defined in MMI_Features[PRJ].hIf defined in MMI_Features[PRJ].hoo __MMI_WITH_C_KEY____MMI_WITH_C_KEY__oo __MMI_WITH_WAP_KEY__ __MMI_WITH_WAP_KEY__

Page 35: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

35

LED/LCD/VIB Patterns Setting

Related Files:\mcu\custom\app\[project]\custom_led_patterns.h\mcu\custom\app\[project]\custom_led_patterns.c

Example:Example:

Page 36: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

36

LED/LCD/VIB Patterns Setting

MTK provides 20 LED patternsTypically 3 GPIOs (Red, Green, Blue)6 levels (0 ~ 5)

MTK provides 2 LCD patternsTypically 1 GPIO2 levels (0 / 1)

MTK provides 3 vibrator patternsTypically 1 GPIO2 levels (0 / 1)

Page 37: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

37

GPIO

\custom\drv\misc_drv\[PRJ]\gpio_drv.cGPIO Initialization

Not be changed once the hardware is finalizedRefer to Base band chip datasheet and HW layout

Page 38: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

38

GPIO\mcu\custom\drv\misc_drv\[PRJ]\custom_equipment.c

Page 39: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

39

PWM

Internal Counter

Threshold

PWM Signal

PWM Clock, 13MHz,13/2 MHZ , 13/4MHz, 13/8MHz

PWM counter,(12 bits)

PWM threshold(12 bits)

Page 40: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

40

PWM Setting

Open \mcu\custom\drv\misc_drv\[project]\custom_hw_default.c and locate NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULTModify at

Bump up version of data itemNVRAM_EF_CUST_HW_LEVEL_TBL_LID

\mcu\custom\drv\misc_drv\[project]\custom_nvram_editor_data_item.h

Page 41: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

41

Alerter

Internal Counter 1

Alerter Threshold

Internal Counter 2

Enhanced PWM out (Mode1)

Enhanced PWM out (Mode2)

Enhanced PWM out (Mode3)

Page 42: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

42

UART

\custom\drv\misc_drv\[PRJ]\uart_def.cThe size of UART ring buffer definition

Page 43: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

43

UART

Set UART Flow Controlfc_none: no flow controlfc_sw: software flow controlfc_hw: hardware flow control

Page 44: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

44

USB..\mcu\custom\drv\misc_drv\usb_custom.cDevice description parameter

USB_MANUFACTURER_STRING[]USB_PRODUCT_STRING[]USB_SERIAL_STRING[]

Mass storage parametersINQUIRE_DATA[]USB_MS_INTERFACE_STRING[]

Page 45: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

45

USBCDC ACM parameters

GPIO as power control pinEx. GPIO16 should be reserved in gpio_drv.c

Page 46: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

46

USB Charging

USB device can announce it’s consuming current in the descriptor.500mA is announced in our USB device including CDC ACM Class and Mass Storage Class.If the host grants it, using the current from USB hub to charging MS battery.No matter host grants 500mA request or not, sucks the current 0f 400mA directly from the hub.Only support one of AC charger or USB cable exist.

Page 47: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

47

USB charging – circuit diagram

VCHG USBPWR

VBAT

ADC4_VCHGEINT2_USB

EINT1_CHRDET

GPIO18_CHR_CTL

ADC_ISENSE

ADC_VBAT

R406

100K

R416

0.4 (1% 0805 1/4W)

D411RB160M-30

12

C401

1u (0805 Y5V 16V)

R407

24K

R415

56K

R414

43K

BT401

BATTERY CONN.

12

3

VBATTEMP

GND

C402

1u (0805 Y5V 16V)D411RB160M-30

12

PMIC

PMIC

/2

/2

This part of circuit is cut off at USB_CHARGE_ETHAN.

Page 48: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

48

MTK USB feature and detect sequence

Feature Mass storage

Support NAND flash, MSDC cardsUSB mass storage class

Virtual comportThe same as UART functionUSB CDC ACM class

Detect sequence USB cable plug in when power on

Features selected by user (mass storage or virtual comport)If mass storage mode is selected, device will shutdown and reboot as mass storage mode

USB cable plug in when power offAlways boot as mass storage mode

Page 49: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

49

MTK USB 1.1 operation

FunctionHandle the setup procedure between PC and device

PC detect and recognize the USB device by the enumeration of control endpoint

Operate in USB HISRUSB hardware interrupt trigger

USB hardware

Interrupt (2)

(3)

USB HISR(4)

Configure hardware to responseUSB LISR

Start (receive packets)

(1)

Page 50: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

50

USB Storage manager

USB storage manager

SD driver

MMCdriver

NAND flash driver

NOR flash driver

USB Mass Storage interface

LUN

Register API

Page 51: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

51

USB adaptation API for Mass Storage

kal_uint8 usbms_get_max_LUN(void). (MS manager)Register_API(&MS_DRVAPI_Group). (MS manager)Read_APIWrite_APICHECK_MEDIA_EXIST_APIMount_API(Format_API)PREVMEDIA_REMOVAL_APIREAD_CAPACITY_API max_lba,sec_len

Page 52: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

52

MSDC – System Architecture

File System USB mass storage

MS Driver

MSDC Controller

MS-PRO Driver SD/MMC Driver

MS Card MS-PRO Card SD/MMC Card

MS Adaptation MS-PRO Adaptation SD/MMC Adaptation

hardware

software

card

Page 53: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

53

MSDC features

32 bytes FIFO shared for transmit and receiveBuilt-in CRC DMA supportInterrupt supportAuto-command execution for MSPower down supportSerial clock rate is programmableCard detection capabilities (wake up MCU)Output driving capability and Slew rate of IO pads are configurable

Page 54: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

54

Chip Support Table

MT6205B MT6218B MT6219

SD/MMC None Yes Yes

MS None Yes Yes

MS-PRO None None Yes

Page 55: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

55

SD vs. MMC

Yes

Yes

25MHz1,4SD

NoWrite protect switch

NoCopy right protection

20MHzMax clock rate

1Bus widthMMC

Page 56: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

56

Card Detection

MSDC HISR FMT

MSDC HISR FMT

MSG_ID_MSDC_CARD_DETECT_IND (MSG)

MSDC_GetCardStatus (FUNC)

MountDevice (FUNC)

Card plug in/out

Page 57: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

57

MSDC Driver Architecture

MSDC Controller

Card

MSDC HISR FMT

Send Commands and suspended

Driver

FMT

MSDC HISR

FMT

Response

Set event to wake up the suspend task

Generate INT and activate HISR

Send/receive Data using DMA and suspended

Generate INT and activate HISR

Set event to wake up the suspend task

task suspended

task suspended

Page 58: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

58

APIs of SD Driver

SD_InitializeSD_ReadSingleBlockSD_ReadMultiBlockSD_WriteSingleBlockSD_WriteMultiBlock

Page 59: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

59

SD Adaptation Layer

MountDeviceReadSectorsWriteSectorsMediaChangedGetDiskGeometry

Page 60: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

60

Audio

Page 61: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

61

Audio

MMI Layer 4

SpeechPCM, WAV, MP3, Melody, Wavetable, SMF,AMR, iMelody, Voice memoand etc

Audio TypeAUD

L1 Audio

DSP L1 Audio Adaptation Layer

External MIDI Chips (opt.)(MT6205B only)

AFE

Page 62: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

62

LCD

LCMEMI/NFI8080/6800 Parallel

AcceleratorMain-PanelLCDModule LCD

DMA Controller

MT 62XX

Serial Accelerator

LCD DATASub-PanelLCDModule (Opt.)

LCD CLK

LCD CS0/1LCD A0

Page 63: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

63

LCD

MMIUEM GDI

LCM

DRV_RGB_TO_HW(R,G,B)DRV_LCD_SET_BUFFER_PIXELDRV_LCD_GET_BUFFER_PIXEL

LCD InterfaceRGB LEDBacklightControl

Functionpointer

get_lcd_frame_buffer_address()

LCM Driver 1

LCM Driver 2

LCM Driver n

Page 64: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

64

LCD8-bit SPI Interface

D 7 D 5 D 3D 4D6 D 2 D 1 D 0 D 0

C LK

D ATA

C S

A 0

9-bit SPI Interface

A0 D6 D4D5D7 D3 D2 D1 D0

CLK

DATA

CS

Page 65: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

65

LCD

6800-Series MPU Interface

8080-Series MPU Interface

Page 66: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

66

LCD

Files:\custom\drv\LCD\[PRJ]\lcd.c\custom\drv\LCD\[PRJ]\lcd_hw.h\custom\drv\LCD\[PRJ]\lcd_sw.h\custom\drv\LCD\[PRJ]\lcd_sw_inc.h\custom\drv\LCD\[PRJ]\lcd_sw_rnd.h

Function:Function:

Page 67: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

67

LCDInit

This function is to initialize LCD module. In this function, LCD will exit sleep mode, power on, clean the screen, screen on, and configure to a suitable mode.

BlockWriteDMA

Page 68: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

68

LCD Contrast Setting

Open \mcu\custom\drv\misc_drv\[project]\custom_hw_default.c and locate NVRAM_EF_CUST_HW_LEVEL_TBL_DEFAULTModify at

Page 69: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

69

Camera

LCM

BasebandSensor

MT6219

Page 70: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

70

Camera Software Architecture

MMI Task

MDI Camera GDI

LCD InterfaceCamera Driver

HW- (LCM, ISP, MT6218, MT6219...)

MEDIA Task

Camera MMI

Page 71: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

71

Camera

MMI Task

MDI Camera GDI

LCD InterfaceCamera Driver

MEDIA Task

Camera MMI

LCM

ISP

Layer 0blt_layer_flag == LAYER 0 | LAYER 1 | LAYER 2

preview_layer_flag == LAYER 0

Layer 1

Layer 2

MT6219

Layer 0Layer 1Layer 2

Page 72: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

72

Camera

E X T _ C A M E R A _ C AP T U R E _ S T A T E

E X T _ C A M E R A _ P R EV I E W _ S T A T E

E X T _ C A M E R A _ P OW E R _ O F F _ S T A T E

E X T _ C A M E R A _ I N IT I A L _ S T A T E

E X T _ C A M E R A _ S T AN D B Y _ S T A T E

ext_camera_power_off () ext_camera_power_on()

ext_camera_reset_status()=True

ext_camera_preview()

ext_camera_ready_check()

ext_camera_capture()

ext_camera_power_off()

ext_camera_power_off()

ext_camera_power_off()

ext_camera_ready_check()

Page 73: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

73

Camera

Files:\custom\drv\cam_module\XXX\cam_module.c\custom\drv\cam_module\XXX\cam_module.h

Function:Function:

Page 74: Device Driver (MT6219)pdf-file.ic37.com/uploadpdf_old/icpdf_datasheet_6/... · 2 Overview Layer 1 Device Driver Bluetooth IrDA SD/ MMC USB Audio In/Out Audio Codec Synthe-sizer RF

74

Q&A


Recommended