MT6573 PMU Driver Customer Document [0.1 ed.]

  • Commentary
  • https://github.com/luckasfb/Development_Documents
  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

LY M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

MT6573 PMU Driver Customer Document

Version: Release date:

0.1 2011-02-166

© 2008 - 2011 MediaTek Inc. This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

FO

Specifications are subject to change without notice.

LY

MT6573 Confidential B

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

Document Revision History

Revision

FO

0.1

Date

Author

2011-02-16

James Lo

MediaTek Confidential

Description Initial Draft

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 2 of 31

LY

MT6573 Confidential B

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

Table of Contents

Document Revision History .................................................................................................................. 2 Table of Contents................................................................................................................................... 3 1

Introduction................................................................................................................................... 5 1.1

1.2

2

Design............................................................................................................................................ 6 2.1 2.2

3

Software/Hardware Environment.......................................................................................... 5 1.1.1 Software Environment .......................................................................................... 5 1.1.2 Hardware Environment......................................................................................... 5 Functionality.......................................................................................................................... 5 Architecture........................................................................................................................... 6 Procedure & Flow ................................................................................................................. 7

Interface......................................................................................................................................... 8 3.1

Data Structure....................................................................................................................... 8 3.1.1 pmic_adpt_voltage_enum.............................................................................. 8 3.1.2

upmu_buck_vol_enum,

upmu_ldo_vol_enum,

upmu_buck_boost_vol_enum ....................................................................... 12

FO

3.2

3.1.3

upmu_buck_profile_entry.......................................................................... 15

3.1.4

upmu_ldo_profile_entry............................................................................ 15

3.1.5

upmu_buck_boost_profile_entry............................................................. 16

3.1.6

upmu_isink_profile_entry ....................................................................... 16

3.1.7

upmu_kpled_profile_entry ....................................................................... 16

3.1.8

upmu_chr_profile_entry............................................................................ 16

3.1.9

upmu_oc_profile_entry .............................................................................. 17

3.1.10

upmu_strup_profile_entry ....................................................................... 17

3.1.11

upmu_lposc_profile_entry ....................................................................... 17

3.1.12

upmu_retention_profile_entry............................................................... 17

3.1.13

upmu_chr_current_enum .............................................................................. 17

3.1.14

pmic_adpt_chr_current_enum ................................................................... 18

3.1.15

upmu_ldo_profile......................................................................................... 19

3.1.16

upmu_buck_profile....................................................................................... 19

3.1.17

upmu_buck_boost_profile.......................................................................... 19

3.1.18

upmu_kpled_profile .................................................................................... 19

3.1.19

upmu_chr_profile......................................................................................... 19

3.1.20

upmu_oc_profile ........................................................................................... 20

3.1.21

upmu_strup_profile .................................................................................... 20

3.1.22

upmu_lposc_profile .................................................................................... 20

3.1.23

upmu_retention_profile............................................................................ 20

Functions ............................................................................................................................ 20 3.2.1 hw_charger_type_detection ............................................................................... 20 3.2.2 pmu6573_hw_init ............................................................................................... 21

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 3 of 31

pmu6573_pmu_customization ........................................................................... 21 pmu6573_chrdet_eint_irq .................................................................................. 21 pmu6573_init...................................................................................................... 21 upmu_ldo_enable............................................................................................... 22 upmu_ldo_on_sel ............................................................................................... 22 upmu_ldo_vol_sel .............................................................................................. 22 upmu_ldo_ndis_enable ...................................................................................... 23 upmu_ldo_stb_enable ........................................................................................ 23 upmu_ldo_oc_auto_off....................................................................................... 23 upmu_ldo_ocfb_enable ...................................................................................... 23 upmu_ldo_get_oc_status ................................................................................... 24 upmu_ldo_get_status ......................................................................................... 24 upmu_ldo_oc_status .......................................................................................... 24 upmu_ldo_status ................................................................................................ 24 upmu_ldo_stb_td................................................................................................ 25 upmu_ldo_cal ..................................................................................................... 25 upmu_ldo_en_force_enable............................................................................... 25 upmu_ldo_oc_td................................................................................................. 25 upmu_buck_enable ............................................................................................ 26 upmu_buck_rs.................................................................................................... 26 upmu_buck_sf_str_mode................................................................................... 26 upmu_buck_normal_voltage_adjust .................................................................. 27 upmu_buck_oc_auto_off .................................................................................... 27 upmu_buck_ocfb_enable ................................................................................... 27 upmu_buck_stb_enable ..................................................................................... 27 upmu_buck_get_oc_status ................................................................................ 28 upmu_buck_get_status ...................................................................................... 28 upmu_buck_modeset ......................................................................................... 28 upmu_buck_sleep_voltage_adjust..................................................................... 28 upmu_is_buck_mode ......................................................................................... 29 upmu_buck_oc_td .............................................................................................. 29 upmu_buck_stb_td ............................................................................................. 29

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19 3.2.20 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.26 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34

LY

MT6573 Confidential B

4

Customization............................................................................................................................. 30 4.1

5

Customization Items ........................................................................................................... 30

Build............................................................................................................................................. 31

FO

5.1 5.2

Source Code Structure & File Description.......................................................................... 31 Build Option ........................................................................................................................ 31

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 4 of 31

LY

MT6573 Confidential B

Introduction

1.1

Software/Hardware Environment

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

1

1.1.1

Software Environment

Driver discussed in this document is designed based on Linux Kernel 2.6.32 and Android 2.3.

Due to the practicality, this document will focus on the overall architecture and BUCK / LDO control section.

1.1.2

Hardware Environment

Driver discussed in this document can run on MT6573 EVB SOC: MT6573

1.2

Functionality

FO

The PMU driver’s main functionality is: (1) 4 BUCK and 13 LDO turn on / off functions for PM API (2) 4 BUCK and 13 LDO voltage setting functions for PM API (3) Charger plug in / out and type detection. (4) Internal used functions.

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 5 of 31

Design

2.1

Architecture

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

2

LY

MT6573 Confidential B

This driver is the lowest level API for supporting the Android Power Management (mt6573_pm_api.c). Please read the “Power Management API customer document” first.

FO

The following figure is the architecture of this driver in this section.

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 6 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

LY

MT6573 Confidential B

2.2

Procedure & Flow

The PMU driver is the common interface between HW PMU and other drivers.

FO

In the system booting time, the PMU driver will initialize the PMU HW component.

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 7 of 31

Interface

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3

LY

MT6573 Confidential B

Describe the data structure and interface used by other kernel module.

3.1

Data Structure

3.1.1

pmic_adpt_voltage_enum

FO

It ‘s used in this driver. typedef enum { PMIC_ADPT_VOLT_0_0 = PMIC_ADPT_VOLT_0_1 = PMIC_ADPT_VOLT_0_2 = PMIC_ADPT_VOLT_0_3 = PMIC_ADPT_VOLT_0_4 = PMIC_ADPT_VOLT_0_5 = PMIC_ADPT_VOLT_0_6 = PMIC_ADPT_VOLT_0_7 = PMIC_ADPT_VOLT_0_7_0_0 PMIC_ADPT_VOLT_0_7_2_5 PMIC_ADPT_VOLT_0_7_5_0 PMIC_ADPT_VOLT_0_7_7_5 PMIC_ADPT_VOLT_0_8 = PMIC_ADPT_VOLT_0_8_0_0 PMIC_ADPT_VOLT_0_8_2_5 PMIC_ADPT_VOLT_0_8_5_0 PMIC_ADPT_VOLT_0_8_7_5 PMIC_ADPT_VOLT_0_9 = PMIC_ADPT_VOLT_0_9_0_0 PMIC_ADPT_VOLT_0_9_2_5 PMIC_ADPT_VOLT_0_9_5_0 PMIC_ADPT_VOLT_0_9_7_5 PMIC_ADPT_VOLT_1_0 = PMIC_ADPT_VOLT_1_0_0_0 PMIC_ADPT_VOLT_1_0_2_5 PMIC_ADPT_VOLT_1_0_5_0 PMIC_ADPT_VOLT_1_0_7_5 PMIC_ADPT_VOLT_1_1 = PMIC_ADPT_VOLT_1_1_0_0 PMIC_ADPT_VOLT_1_1_2_5 PMIC_ADPT_VOLT_1_1_5_0 PMIC_ADPT_VOLT_1_1_7_5 PMIC_ADPT_VOLT_1_2 = MediaTek Confidential

0, 100, 200, 300, 400, 500, 600, 700, = 700, = 725, = 750, = 775, 800, = 800, = 825, = 850, = 875, 900, = 900, = 925, = 950, = 975, 1000, = 1000, = 1025, = 1050, = 1075, 1100, = 1100, = 1125, = 1150, = 1175, 1200,

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 8 of 31

= 1200, = 1225, = 1250, = 1275, 1300, = 1300, = 1325, = 1350, = 1375, 1400, = 1400, = 1425, = 1450, = 1475, 1500, = 1500, = 1525, = 1550, = 1575, 1600, = 1600, = 1625, = 1650, = 1675, 1700, = 1700, = 1725, = 1750, = 1775, 1800, = 1800, = 1825, = 1850, = 1875, 1900, = 1900, = 1925, = 1950, = 1975, 2000, = 2000, = 2025, = 2050, = 2075, 2100, 2200,

FO

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

PMIC_ADPT_VOLT_1_2_0_0 PMIC_ADPT_VOLT_1_2_2_5 PMIC_ADPT_VOLT_1_2_5_0 PMIC_ADPT_VOLT_1_2_7_5 PMIC_ADPT_VOLT_1_3 = PMIC_ADPT_VOLT_1_3_0_0 PMIC_ADPT_VOLT_1_3_2_5 PMIC_ADPT_VOLT_1_3_5_0 PMIC_ADPT_VOLT_1_3_7_5 PMIC_ADPT_VOLT_1_4 = PMIC_ADPT_VOLT_1_4_0_0 PMIC_ADPT_VOLT_1_4_2_5 PMIC_ADPT_VOLT_1_4_5_0 PMIC_ADPT_VOLT_1_4_7_5 PMIC_ADPT_VOLT_1_5 = PMIC_ADPT_VOLT_1_5_0_0 PMIC_ADPT_VOLT_1_5_2_5 PMIC_ADPT_VOLT_1_5_5_0 PMIC_ADPT_VOLT_1_5_7_5 PMIC_ADPT_VOLT_1_6 = PMIC_ADPT_VOLT_1_6_0_0 PMIC_ADPT_VOLT_1_6_2_5 PMIC_ADPT_VOLT_1_6_5_0 PMIC_ADPT_VOLT_1_6_7_5 PMIC_ADPT_VOLT_1_7 = PMIC_ADPT_VOLT_1_7_0_0 PMIC_ADPT_VOLT_1_7_2_5 PMIC_ADPT_VOLT_1_7_5_0 PMIC_ADPT_VOLT_1_7_7_5 PMIC_ADPT_VOLT_1_8 = PMIC_ADPT_VOLT_1_8_0_0 PMIC_ADPT_VOLT_1_8_2_5 PMIC_ADPT_VOLT_1_8_5_0 PMIC_ADPT_VOLT_1_8_7_5 PMIC_ADPT_VOLT_1_9 = PMIC_ADPT_VOLT_1_9_0_0 PMIC_ADPT_VOLT_1_9_2_5 PMIC_ADPT_VOLT_1_9_5_0 PMIC_ADPT_VOLT_1_9_7_5 PMIC_ADPT_VOLT_2_0 = PMIC_ADPT_VOLT_2_0_0_0 PMIC_ADPT_VOLT_2_0_2_5 PMIC_ADPT_VOLT_2_0_5_0 PMIC_ADPT_VOLT_2_0_7_5 PMIC_ADPT_VOLT_2_1 = PMIC_ADPT_VOLT_2_2 =

LY

MT6573 Confidential B

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 9 of 31

2300, 2400, 2500, 2600, 2700, = 2700, = 2725, = 2750, = 2775, 2800, = 2800, = 2825, = 2850, = 2875, 2900, 3000, 3100, = 2000, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900,

FO

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

PMIC_ADPT_VOLT_2_3 = PMIC_ADPT_VOLT_2_4 = PMIC_ADPT_VOLT_2_5 = PMIC_ADPT_VOLT_2_6 = PMIC_ADPT_VOLT_2_7 = PMIC_ADPT_VOLT_2_7_0_0 PMIC_ADPT_VOLT_2_7_2_5 PMIC_ADPT_VOLT_2_7_5_0 PMIC_ADPT_VOLT_2_7_7_5 PMIC_ADPT_VOLT_2_8 = PMIC_ADPT_VOLT_2_8_0_0 PMIC_ADPT_VOLT_2_8_2_5 PMIC_ADPT_VOLT_2_8_5_0 PMIC_ADPT_VOLT_2_8_7_5 PMIC_ADPT_VOLT_2_9 = PMIC_ADPT_VOLT_3_0 = PMIC_ADPT_VOLT_3_1 = PMIC_ADPT_VOLT_3_1_0_0 PMIC_ADPT_VOLT_3_2 = PMIC_ADPT_VOLT_3_3 = PMIC_ADPT_VOLT_3_4 = PMIC_ADPT_VOLT_3_5 = PMIC_ADPT_VOLT_3_6 = PMIC_ADPT_VOLT_3_7 = PMIC_ADPT_VOLT_3_8 = PMIC_ADPT_VOLT_3_9 = PMIC_ADPT_VOLT_4_0 = PMIC_ADPT_VOLT_4_1 = PMIC_ADPT_VOLT_4_2 = PMIC_ADPT_VOLT_4_3 = PMIC_ADPT_VOLT_4_4 = PMIC_ADPT_VOLT_4_5 = PMIC_ADPT_VOLT_4_6 = PMIC_ADPT_VOLT_4_7 = PMIC_ADPT_VOLT_4_8 = PMIC_ADPT_VOLT_4_9 = PMIC_ADPT_VOLT_5_0 = PMIC_ADPT_VOLT_5_1 = PMIC_ADPT_VOLT_5_2 = PMIC_ADPT_VOLT_5_3 = PMIC_ADPT_VOLT_5_4 = PMIC_ADPT_VOLT_5_5 = PMIC_ADPT_VOLT_5_6 = PMIC_ADPT_VOLT_5_7 = PMIC_ADPT_VOLT_5_8 = PMIC_ADPT_VOLT_5_9 =

LY

MT6573 Confidential B

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 10 of 31

FO

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

PMIC_ADPT_VOLT_6_0 = 6000, PMIC_ADPT_VOLT_6_1 = 6100, PMIC_ADPT_VOLT_6_2 = 6200, PMIC_ADPT_VOLT_6_3 = 6300, PMIC_ADPT_VOLT_6_4 = 6400, PMIC_ADPT_VOLT_6_5 = 6500, PMIC_ADPT_VOLT_6_6 = 6600, PMIC_ADPT_VOLT_6_7 = 6700, PMIC_ADPT_VOLT_6_8 = 6800, PMIC_ADPT_VOLT_6_9 = 6900, PMIC_ADPT_VOLT_7_0 = 7000, PMIC_ADPT_VOLT_7_1 = 7100, PMIC_ADPT_VOLT_7_2 = 7200, PMIC_ADPT_VOLT_7_3 = 7300, PMIC_ADPT_VOLT_7_4 = 7400, PMIC_ADPT_VOLT_7_5 = 7500, PMIC_ADPT_VOLT_7_6 = 7600, PMIC_ADPT_VOLT_7_7 = 7700, PMIC_ADPT_VOLT_7_8 = 7800, PMIC_ADPT_VOLT_7_9 = 7900, PMIC_ADPT_VOLT_8_0 = 8000, PMIC_ADPT_VOLT_1_5_2_0_V = 1520, PMIC_ADPT_VOLT_1_5_4_0_V = 1540, PMIC_ADPT_VOLT_1_5_6_0_V = 1560, PMIC_ADPT_VOLT_1_5_8_0_V = 1580, PMIC_ADPT_VOLT_1_6_2_0_V = 1620, PMIC_ADPT_VOLT_1_6_4_0_V = 1640, PMIC_ADPT_VOLT_1_6_6_0_V = 1660, PMIC_ADPT_VOLT_1_6_8_0_V = 1680, PMIC_ADPT_VOLT_1_7_2_0_V = 1720, PMIC_ADPT_VOLT_1_7_4_0_V = 1740, PMIC_ADPT_VOLT_1_7_6_0_V = 1760, PMIC_ADPT_VOLT_1_7_8_0_V = 1780, PMIC_ADPT_VOLT_1_8_2_0_V = 1820, PMIC_ADPT_VOLT_1_8_4_0_V = 1840, PMIC_ADPT_VOLT_1_8_6_0_V = 1860, PMIC_ADPT_VOLT_1_8_8_0_V = 1880, PMIC_ADPT_VOLT_1_9_2_0_V = 1920, PMIC_ADPT_VOLT_1_9_4_0_V = 1940, PMIC_ADPT_VOLT_1_9_6_0_V = 1960, PMIC_ADPT_VOLT_1_9_8_0_V = 1980, PMIC_ADPT_VOLT_2_0_2_0_V = 2020, PMIC_ADPT_VOLT_2_0_4_0_V = 2040, PMIC_ADPT_VOLT_2_0_6_0_V = 2060, PMIC_ADPT_VOLT_2_0_8_0_V = 2080, PMIC_ADPT_VOLT_2_1_2_0_V = 2120,

LY

MT6573 Confidential B

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 11 of 31

= 50000000

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

PMIC_ADPT_VOLT_MAX }pmic_adpt_voltage_enum;

LY

MT6573 Confidential B

3.1.2

upmu_buck_vol_enum, upmu_ldo_vol_enum, upmu_buck_boost_vol_enum

FO

It ‘s used in this driver. typedef enum { UPMU_VOLT_0_0_0_0_V = PMIC_ADPT_VOLT_0_0, UPMU_VOLT_0_1_0_0_V = PMIC_ADPT_VOLT_0_1, UPMU_VOLT_0_2_0_0_V = PMIC_ADPT_VOLT_0_2, UPMU_VOLT_0_3_0_0_V = PMIC_ADPT_VOLT_0_3, UPMU_VOLT_0_4_0_0_V = PMIC_ADPT_VOLT_0_4, UPMU_VOLT_0_5_0_0_V = PMIC_ADPT_VOLT_0_5, UPMU_VOLT_0_6_0_0_V = PMIC_ADPT_VOLT_0_6, UPMU_VOLT_0_7_0_0_V = PMIC_ADPT_VOLT_0_7_0_0, UPMU_VOLT_0_7_2_5_V = PMIC_ADPT_VOLT_0_7_2_5, UPMU_VOLT_0_7_5_0_V = PMIC_ADPT_VOLT_0_7_5_0, UPMU_VOLT_0_7_7_5_V = PMIC_ADPT_VOLT_0_7_7_5, UPMU_VOLT_0_8_0_0_V = PMIC_ADPT_VOLT_0_8_0_0, UPMU_VOLT_0_8_2_5_V = PMIC_ADPT_VOLT_0_8_2_5, UPMU_VOLT_0_8_5_0_V = PMIC_ADPT_VOLT_0_8_5_0, UPMU_VOLT_0_8_7_5_V = PMIC_ADPT_VOLT_0_8_7_5, UPMU_VOLT_0_9_0_0_V = PMIC_ADPT_VOLT_0_9_0_0, UPMU_VOLT_0_9_2_5_V = PMIC_ADPT_VOLT_0_9_2_5, UPMU_VOLT_0_9_5_0_V = PMIC_ADPT_VOLT_0_9_5_0, UPMU_VOLT_0_9_7_5_V = PMIC_ADPT_VOLT_0_9_7_5, UPMU_VOLT_1_0_0_0_V = PMIC_ADPT_VOLT_1_0_0_0, UPMU_VOLT_1_0_2_5_V = PMIC_ADPT_VOLT_1_0_2_5, UPMU_VOLT_1_0_5_0_V = PMIC_ADPT_VOLT_1_0_5_0, UPMU_VOLT_1_0_7_5_V = PMIC_ADPT_VOLT_1_0_7_5, UPMU_VOLT_1_1_0_0_V = PMIC_ADPT_VOLT_1_1_0_0, UPMU_VOLT_1_1_2_5_V = PMIC_ADPT_VOLT_1_1_2_5, UPMU_VOLT_1_1_5_0_V = PMIC_ADPT_VOLT_1_1_5_0, UPMU_VOLT_1_1_7_5_V = PMIC_ADPT_VOLT_1_1_7_5, UPMU_VOLT_1_2_0_0_V = PMIC_ADPT_VOLT_1_2_0_0, UPMU_VOLT_1_2_2_5_V = PMIC_ADPT_VOLT_1_2_2_5, UPMU_VOLT_1_2_5_0_V = PMIC_ADPT_VOLT_1_2_5_0, UPMU_VOLT_1_2_7_5_V = PMIC_ADPT_VOLT_1_2_7_5, UPMU_VOLT_1_3_0_0_V = PMIC_ADPT_VOLT_1_3_0_0, UPMU_VOLT_1_3_2_5_V = PMIC_ADPT_VOLT_1_3_2_5, UPMU_VOLT_1_3_5_0_V = PMIC_ADPT_VOLT_1_3_5_0, UPMU_VOLT_1_3_7_5_V = PMIC_ADPT_VOLT_1_3_7_5, UPMU_VOLT_1_4_0_0_V = PMIC_ADPT_VOLT_1_4_0_0, MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 12 of 31

FO

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

UPMU_VOLT_1_4_2_5_V = PMIC_ADPT_VOLT_1_4_2_5, UPMU_VOLT_1_4_5_0_V = PMIC_ADPT_VOLT_1_4_5_0, UPMU_VOLT_1_4_7_5_V = PMIC_ADPT_VOLT_1_4_7_5, UPMU_VOLT_1_5_0_0_V = PMIC_ADPT_VOLT_1_5_0_0, UPMU_VOLT_1_5_2_5_V = PMIC_ADPT_VOLT_1_5_2_5, UPMU_VOLT_1_5_5_0_V = PMIC_ADPT_VOLT_1_5_5_0, UPMU_VOLT_1_5_7_5_V = PMIC_ADPT_VOLT_1_5_7_5, UPMU_VOLT_1_6_0_0_V = PMIC_ADPT_VOLT_1_6_0_0, UPMU_VOLT_1_6_2_5_V = PMIC_ADPT_VOLT_1_6_2_5, UPMU_VOLT_1_6_5_0_V = PMIC_ADPT_VOLT_1_6_5_0, UPMU_VOLT_1_6_7_5_V = PMIC_ADPT_VOLT_1_6_7_5, UPMU_VOLT_1_7_0_0_V = PMIC_ADPT_VOLT_1_7_0_0, UPMU_VOLT_1_7_2_5_V = PMIC_ADPT_VOLT_1_7_2_5, UPMU_VOLT_1_7_5_0_V = PMIC_ADPT_VOLT_1_7_5_0, UPMU_VOLT_1_7_7_5_V = PMIC_ADPT_VOLT_1_7_7_5, UPMU_VOLT_1_8_0_0_V = PMIC_ADPT_VOLT_1_8_0_0, UPMU_VOLT_1_8_2_5_V = PMIC_ADPT_VOLT_1_8_2_5, UPMU_VOLT_1_8_5_0_V = PMIC_ADPT_VOLT_1_8_5_0, UPMU_VOLT_1_8_7_5_V = PMIC_ADPT_VOLT_1_8_7_5, UPMU_VOLT_1_9_0_0_V = PMIC_ADPT_VOLT_1_9_0_0, UPMU_VOLT_1_9_2_5_V = PMIC_ADPT_VOLT_1_9_2_5, UPMU_VOLT_1_9_5_0_V = PMIC_ADPT_VOLT_1_9_5_0, UPMU_VOLT_1_9_7_5_V = PMIC_ADPT_VOLT_1_9_7_5, UPMU_VOLT_2_0_0_0_V = PMIC_ADPT_VOLT_2_0_0_0, UPMU_VOLT_2_0_2_5_V = PMIC_ADPT_VOLT_2_0_2_5, UPMU_VOLT_2_0_5_0_V = PMIC_ADPT_VOLT_2_0_5_0, UPMU_VOLT_2_0_7_5_V = PMIC_ADPT_VOLT_2_0_7_5, UPMU_VOLT_2_1_0_0_V = PMIC_ADPT_VOLT_2_1, UPMU_VOLT_2_2_0_0_V = PMIC_ADPT_VOLT_2_2, UPMU_VOLT_2_3_0_0_V = PMIC_ADPT_VOLT_2_3, UPMU_VOLT_2_4_0_0_V = PMIC_ADPT_VOLT_2_4, UPMU_VOLT_2_5_0_0_V = PMIC_ADPT_VOLT_2_5, UPMU_VOLT_2_6_0_0_V = PMIC_ADPT_VOLT_2_6, UPMU_VOLT_2_7_0_0_V = PMIC_ADPT_VOLT_2_7_0_0, UPMU_VOLT_2_7_2_5_V = PMIC_ADPT_VOLT_2_7_2_5, UPMU_VOLT_2_7_5_0_V = PMIC_ADPT_VOLT_2_7_5_0, UPMU_VOLT_2_7_7_5_V = PMIC_ADPT_VOLT_2_7_7_5, UPMU_VOLT_2_8_0_0_V = PMIC_ADPT_VOLT_2_8_0_0, UPMU_VOLT_2_8_2_5_V = PMIC_ADPT_VOLT_2_8_2_5, UPMU_VOLT_2_8_5_0_V = PMIC_ADPT_VOLT_2_8_5_0, UPMU_VOLT_2_8_7_5_V = PMIC_ADPT_VOLT_2_8_7_5, UPMU_VOLT_2_9_0_0_V = PMIC_ADPT_VOLT_2_9, UPMU_VOLT_3_0_0_0_V = PMIC_ADPT_VOLT_3_0, UPMU_VOLT_3_1_0_0_V = PMIC_ADPT_VOLT_3_1, UPMU_VOLT_3_2_0_0_V = PMIC_ADPT_VOLT_3_2, UPMU_VOLT_3_3_0_0_V = PMIC_ADPT_VOLT_3_3,

LY

MT6573 Confidential B

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 13 of 31

FO

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

UPMU_VOLT_3_4_0_0_V = PMIC_ADPT_VOLT_3_4, UPMU_VOLT_3_5_0_0_V = PMIC_ADPT_VOLT_3_5, UPMU_VOLT_3_6_0_0_V = PMIC_ADPT_VOLT_3_6, UPMU_VOLT_3_7_0_0_V = PMIC_ADPT_VOLT_3_7, UPMU_VOLT_3_8_0_0_V = PMIC_ADPT_VOLT_3_8, UPMU_VOLT_3_9_0_0_V = PMIC_ADPT_VOLT_3_9, UPMU_VOLT_4_0_0_0_V = PMIC_ADPT_VOLT_4_0, UPMU_VOLT_4_1_0_0_V = PMIC_ADPT_VOLT_4_1, UPMU_VOLT_4_2_0_0_V = PMIC_ADPT_VOLT_4_2, UPMU_VOLT_4_3_0_0_V = PMIC_ADPT_VOLT_4_3, UPMU_VOLT_4_4_0_0_V = PMIC_ADPT_VOLT_4_4, UPMU_VOLT_4_5_0_0_V = PMIC_ADPT_VOLT_4_5, UPMU_VOLT_4_6_0_0_V = PMIC_ADPT_VOLT_4_6, UPMU_VOLT_4_7_0_0_V = PMIC_ADPT_VOLT_4_7, UPMU_VOLT_4_8_0_0_V = PMIC_ADPT_VOLT_4_8, UPMU_VOLT_4_9_0_0_V = PMIC_ADPT_VOLT_4_9, UPMU_VOLT_5_0_0_0_V = PMIC_ADPT_VOLT_5_0, UPMU_VOLT_5_1_0_0_V = PMIC_ADPT_VOLT_5_1, UPMU_VOLT_5_2_0_0_V = PMIC_ADPT_VOLT_5_2, UPMU_VOLT_5_3_0_0_V = PMIC_ADPT_VOLT_5_3, UPMU_VOLT_5_4_0_0_V = PMIC_ADPT_VOLT_5_4, UPMU_VOLT_5_5_0_0_V = PMIC_ADPT_VOLT_5_5, UPMU_VOLT_5_6_0_0_V = PMIC_ADPT_VOLT_5_6, UPMU_VOLT_5_7_0_0_V = PMIC_ADPT_VOLT_5_7, UPMU_VOLT_5_8_0_0_V = PMIC_ADPT_VOLT_5_8, UPMU_VOLT_5_9_0_0_V = PMIC_ADPT_VOLT_5_9, UPMU_VOLT_6_0_0_0_V = PMIC_ADPT_VOLT_6_0, UPMU_VOLT_6_1_0_0_V = PMIC_ADPT_VOLT_6_1, UPMU_VOLT_6_2_0_0_V = PMIC_ADPT_VOLT_6_2, UPMU_VOLT_6_3_0_0_V = PMIC_ADPT_VOLT_6_3, UPMU_VOLT_6_4_0_0_V = PMIC_ADPT_VOLT_6_4, UPMU_VOLT_6_5_0_0_V = PMIC_ADPT_VOLT_6_5, UPMU_VOLT_6_6_0_0_V = PMIC_ADPT_VOLT_6_6, UPMU_VOLT_6_7_0_0_V = PMIC_ADPT_VOLT_6_7, UPMU_VOLT_6_8_0_0_V = PMIC_ADPT_VOLT_6_8, UPMU_VOLT_6_9_0_0_V = PMIC_ADPT_VOLT_6_9, UPMU_VOLT_7_0_0_0_V = PMIC_ADPT_VOLT_7_0, UPMU_VOLT_7_1_0_0_V = PMIC_ADPT_VOLT_7_1, UPMU_VOLT_7_2_0_0_V = PMIC_ADPT_VOLT_7_2, UPMU_VOLT_7_3_0_0_V = PMIC_ADPT_VOLT_7_3, UPMU_VOLT_7_4_0_0_V = PMIC_ADPT_VOLT_7_4, UPMU_VOLT_7_5_0_0_V = PMIC_ADPT_VOLT_7_5, UPMU_VOLT_7_6_0_0_V = PMIC_ADPT_VOLT_7_6, UPMU_VOLT_7_7_0_0_V = PMIC_ADPT_VOLT_7_7, UPMU_VOLT_7_8_0_0_V = PMIC_ADPT_VOLT_7_8, UPMU_VOLT_7_9_0_0_V = PMIC_ADPT_VOLT_7_9,

LY

MT6573 Confidential B

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 14 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

UPMU_VOLT_8_0_0_0_V = PMIC_ADPT_VOLT_8_0, UPMU_VOLT_1_5_2_0_V = PMIC_ADPT_VOLT_1_5_2_0_V, UPMU_VOLT_1_5_4_0_V = PMIC_ADPT_VOLT_1_5_4_0_V, UPMU_VOLT_1_5_6_0_V = PMIC_ADPT_VOLT_1_5_6_0_V, UPMU_VOLT_1_5_8_0_V = PMIC_ADPT_VOLT_1_5_8_0_V, UPMU_VOLT_1_6_2_0_V = PMIC_ADPT_VOLT_1_6_2_0_V, UPMU_VOLT_1_6_4_0_V = PMIC_ADPT_VOLT_1_6_4_0_V, UPMU_VOLT_1_6_6_0_V = PMIC_ADPT_VOLT_1_6_6_0_V, UPMU_VOLT_1_6_8_0_V = PMIC_ADPT_VOLT_1_6_8_0_V, UPMU_VOLT_1_7_2_0_V = PMIC_ADPT_VOLT_1_7_2_0_V, UPMU_VOLT_1_7_4_0_V = PMIC_ADPT_VOLT_1_7_4_0_V, UPMU_VOLT_1_7_6_0_V = PMIC_ADPT_VOLT_1_7_6_0_V, UPMU_VOLT_1_7_8_0_V = PMIC_ADPT_VOLT_1_7_8_0_V, UPMU_VOLT_1_8_2_0_V = PMIC_ADPT_VOLT_1_8_2_0_V, UPMU_VOLT_1_8_4_0_V = PMIC_ADPT_VOLT_1_8_4_0_V, UPMU_VOLT_1_8_6_0_V = PMIC_ADPT_VOLT_1_8_6_0_V, UPMU_VOLT_1_8_8_0_V = PMIC_ADPT_VOLT_1_8_8_0_V, UPMU_VOLT_1_9_2_0_V = PMIC_ADPT_VOLT_1_9_2_0_V, UPMU_VOLT_1_9_4_0_V = PMIC_ADPT_VOLT_1_9_4_0_V, UPMU_VOLT_1_9_6_0_V = PMIC_ADPT_VOLT_1_9_6_0_V, UPMU_VOLT_1_9_8_0_V = PMIC_ADPT_VOLT_1_9_8_0_V, UPMU_VOLT_2_0_2_0_V = PMIC_ADPT_VOLT_2_0_2_0_V, UPMU_VOLT_2_0_4_0_V = PMIC_ADPT_VOLT_2_0_4_0_V, UPMU_VOLT_2_0_6_0_V = PMIC_ADPT_VOLT_2_0_6_0_V, UPMU_VOLT_2_0_8_0_V = PMIC_ADPT_VOLT_2_0_8_0_V, UPMU_VOLT_2_1_2_0_V = PMIC_ADPT_VOLT_2_1_2_0_V,

LY

MT6573 Confidential B

UPMU_VOLT_MAX = PMIC_ADPT_VOLT_MAX }upmu_buck_vol_enum, upmu_ldo_vol_enum, upmu_buck_boost_vol_enum;

3.1.3

upmu_buck_profile_entry

It ‘s used in this driver. typedef struct { kal_uint32 addr; kal_uint32 vol_list_num; // 1: Means the voltage is fixed, not allow to configure upmu_buck_vol_enum vol_list[UPMU_MAX_BUCK_VOL_SEL_NUM]; }upmu_buck_profile_entry;

3.1.4

upmu_ldo_profile_entry

FO

It ‘s used in this driver. typedef struct { kal_uint32 addr; kal_uint32 vol_list_num; // 1: Means the voltage is fixed, not allow to configure MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 15 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

upmu_ldo_vol_enum vol_list[UPMU_MAX_LDO_VOL_SEL_NUM]; }upmu_ldo_profile_entry;

LY

MT6573 Confidential B

3.1.5

upmu_buck_boost_profile_entry

It ‘s used in this driver. typedef struct { kal_uint32 addr; kal_uint32 vol_list_num; // 1: Means the voltage is fixed, not allow to configure upmu_buck_vol_enum vol_list[UPMU_MAX_BUCK_BOOST_VOL_SEL_NUM]; }upmu_buck_boost_profile_entry;

3.1.6

upmu_isink_profile_entry

It ‘s used in this driver. typedef struct { kal_uint32 addr; }upmu_isink_profile_entry;

3.1.7

upmu_kpled_profile_entry

It ‘s used in this driver. typedef struct { kal_uint32 addr; kal_uint32 spk_vol_list_num; upmu_spk_vol_enum spk_vol_list[UPMU_MAX_SPK_VOL_NUM]; }upmu_spk_profile_entry;

3.1.8

upmu_chr_profile_entry

FO

It ‘s used in this driver. #define upmu_chr_vol_enum pmic_adpt_voltage_enum typedef struct { kal_uint32 addr; kal_uint32 chr_current_list_num; upmu_chr_current_enum chr_current_list[UPMU_MAX_CHARGE_CURRENT_NUM]; kal_uint32 chr_det_lv_list_num; upmu_chr_vol_enum chr_det_lv_list[UPMU_MAX_CHARGER_DET_HV_NUM]; kal_uint32 chr_det_hv_list_num; upmu_chr_vol_enum chr_det_hv_list[UPMU_MAX_CHARGER_DET_HV_NUM]; kal_uint32 chr_vbat_cc_list_num; upmu_chr_vol_enum chr_vbat_cc_list[UPMU_MAX_VBAT_CC_DET_NUM]; kal_uint32 chr_vbat_cv_list_num; upmu_chr_vol_enum chr_vbat_cv_list[UPMU_MAX_VBAT_CV_DET_NUM]; MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 16 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

kal_uint32 chr_vbat_ov_list_num; upmu_chr_vol_enum chr_vbat_ov_list[UPMU_MAX_VBAT_OV_NUM]; }upmu_chr_profile_entry;

LY

MT6573 Confidential B

3.1.9

upmu_oc_profile_entry

It ‘s used in this driver. typedef struct { kal_uint32 addr; }upmu_oc_profile_entry;

3.1.10 upmu_strup_profile_entry It ‘s used in this driver. typedef struct { kal_uint32 addr; }upmu_strup_profile_entry;

3.1.11 upmu_lposc_profile_entry It ‘s used in this driver. typedef struct { kal_uint32 addr; }upmu_lposc_profile_entry;

3.1.12 upmu_retention_profile_entry It ‘s used in this driver. typedef struct { kal_uint32 addr; }upmu_retention_profile_entry;

3.1.13 upmu_chr_current_enum

FO

It ‘s used in this driver. typedef enum { UPMU_CHARGE_CURRENT_0_MA = PMIC_ADPT_CHARGE_CURRENT_0_MA, UPMU_CHARGE_CURRENT_50_MA = PMIC_ADPT_CHARGE_CURRENT_50_MA, UPMU_CHARGE_CURRENT_100_MA = PMIC_ADPT_CHARGE_CURRENT_100_MA, UPMU_CHARGE_CURRENT_150_MA = PMIC_ADPT_CHARGE_CURRENT_150_MA, UPMU_CHARGE_CURRENT_200_MA = PMIC_ADPT_CHARGE_CURRENT_200_MA, UPMU_CHARGE_CURRENT_250_MA = PMIC_ADPT_CHARGE_CURRENT_250_MA, UPMU_CHARGE_CURRENT_300_MA = PMIC_ADPT_CHARGE_CURRENT_300_MA, MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 17 of 31

LY

MT6573 Confidential B

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

UPMU_CHARGE_CURRENT_350_MA = PMIC_ADPT_CHARGE_CURRENT_350_MA, UPMU_CHARGE_CURRENT_400_MA = PMIC_ADPT_CHARGE_CURRENT_400_MA, UPMU_CHARGE_CURRENT_450_MA = PMIC_ADPT_CHARGE_CURRENT_450_MA, UPMU_CHARGE_CURRENT_500_MA = PMIC_ADPT_CHARGE_CURRENT_500_MA, UPMU_CHARGE_CURRENT_550_MA = PMIC_ADPT_CHARGE_CURRENT_550_MA, UPMU_CHARGE_CURRENT_600_MA = PMIC_ADPT_CHARGE_CURRENT_600_MA, UPMU_CHARGE_CURRENT_650_MA = PMIC_ADPT_CHARGE_CURRENT_650_MA, UPMU_CHARGE_CURRENT_700_MA = PMIC_ADPT_CHARGE_CURRENT_700_MA, UPMU_CHARGE_CURRENT_750_MA = PMIC_ADPT_CHARGE_CURRENT_750_MA, UPMU_CHARGE_CURRENT_800_MA = PMIC_ADPT_CHARGE_CURRENT_800_MA, UPMU_CHARGE_CURRENT_850_MA = PMIC_ADPT_CHARGE_CURRENT_850_MA, UPMU_CHARGE_CURRENT_900_MA = PMIC_ADPT_CHARGE_CURRENT_900_MA, UPMU_CHARGE_CURRENT_950_MA = PMIC_ADPT_CHARGE_CURRENT_950_MA, UPMU_CHARGE_CURRENT_1000_MA = PMIC_ADPT_CHARGE_CURRENT_1000_MA, UPMU_CHARGE_CURRENT_1200_MA = PMIC_ADPT_CHARGE_CURRENT_1200_MA, UPMU_CHARGE_CURRENT_1500_MA = PMIC_ADPT_CHARGE_CURRENT_1500_MA, UPMU_CHARGE_CURRENT_1800_MA = PMIC_ADPT_CHARGE_CURRENT_1800_MA, UPMU_CHARGE_CURRENT_2000_MA = PMIC_ADPT_CHARGE_CURRENT_2000_MA, UPMU_CHARGE_CURRENT_MAX = PMIC_ADPT_CHARGE_CURRENT_MAX }upmu_chr_current_enum;

3.1.14 pmic_adpt_chr_current_enum

FO

It ‘s used in this driver. typedef enum { PMIC_ADPT_CHARGE_CURRENT_0_MA = 0, PMIC_ADPT_CHARGE_CURRENT_50_MA = 50, PMIC_ADPT_CHARGE_CURRENT_100_MA = 100, PMIC_ADPT_CHARGE_CURRENT_150_MA = 150, PMIC_ADPT_CHARGE_CURRENT_200_MA = 200, PMIC_ADPT_CHARGE_CURRENT_250_MA = 250, PMIC_ADPT_CHARGE_CURRENT_300_MA = 300, PMIC_ADPT_CHARGE_CURRENT_350_MA = 350, PMIC_ADPT_CHARGE_CURRENT_400_MA = 400, PMIC_ADPT_CHARGE_CURRENT_450_MA = 450, PMIC_ADPT_CHARGE_CURRENT_500_MA = 500, PMIC_ADPT_CHARGE_CURRENT_550_MA = 550, PMIC_ADPT_CHARGE_CURRENT_600_MA = 600, PMIC_ADPT_CHARGE_CURRENT_650_MA = 650, PMIC_ADPT_CHARGE_CURRENT_700_MA = 700, PMIC_ADPT_CHARGE_CURRENT_750_MA = 750, PMIC_ADPT_CHARGE_CURRENT_800_MA = 800, PMIC_ADPT_CHARGE_CURRENT_850_MA = 850, PMIC_ADPT_CHARGE_CURRENT_900_MA = 900, PMIC_ADPT_CHARGE_CURRENT_950_MA = 950, MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 18 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

PMIC_ADPT_CHARGE_CURRENT_1000_MA = 1000, PMIC_ADPT_CHARGE_CURRENT_1200_MA = 1200, PMIC_ADPT_CHARGE_CURRENT_1500_MA = 1500, PMIC_ADPT_CHARGE_CURRENT_1800_MA = 1800, PMIC_ADPT_CHARGE_CURRENT_2000_MA = 2000, PMIC_ADPT_CHARGE_CURRENT_MAX }pmic_adpt_chr_current_enum;

LY

MT6573 Confidential B

3.1.15 upmu_ldo_profile

It ‘s used in this driver. upmu_ldo_profile_entry upmu_ldo_profile[] = { // please reference the source code “pmu6573.c” };

3.1.16 upmu_buck_profile

It ‘s used in this driver. upmu_buck_profile_entry upmu_buck_profile[] = { // please reference the source code “pmu6573.c” };

3.1.17 upmu_buck_boost_profile

It ‘s used in this driver. upmu_buck_boost_profile_entry upmu_buck_boost_profile[] = { // please reference the source code “pmu6573.c” };

3.1.18 upmu_kpled_profile

It ‘s used in this driver. upmu_kpled_profile_entry upmu_kpled_profile[] = { // please reference the source code “pmu6573.c” };

3.1.19 upmu_chr_profile

FO

It ‘s used in this driver. upmu_chr_profile_entry upmu_chr_profile[] = { // please reference the source code “pmu6573.c” };

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 19 of 31

LY

MT6573 Confidential B

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3.1.20 upmu_oc_profile It ‘s used in this driver. upmu_oc_profile_entry upmu_oc_profile[] = { // please reference the source code “pmu6573.c” };

3.1.21 upmu_strup_profile

It ‘s used in this driver. upmu_strup_profile_entry upmu_strup_profile[] = { // please reference the source code “pmu6573.c” };

3.1.22 upmu_lposc_profile

It ‘s used in this driver. upmu_lposc_profile_entry upmu_lposc_profile[] = { // please reference the source code “pmu6573.c” };

3.1.23 upmu_retention_profile

It ‘s used in this driver. upmu_retention_profile_entry upmu_retention_profile[] = { // please reference the source code “pmu6573.c” };

3.2

Functions

3.2.1

hw_charger_type_detection

Prototype

CHARGER_TYPE hw_charger_type_detection(void) Description

Do the charger type detection Parameters none

none

none

Return Value

FO

typedef enum { CHARGER_UNKNOWN = 0, STANDARD_HOST, CHARGING_HOST, MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 20 of 31

LY

MT6573 Confidential B

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

NONSTANDARD_CHARGER, STANDARD_CHARGER, } CHARGER_TYPE;

3.2.2

pmu6573_hw_init

Prototype

void pmu6573_hw_init(void) Description

PMU HW initialization. Depending on the PMU Driver Setting SPEC. Parameters none

none

none

Return Value none

3.2.3

pmu6573_pmu_customization

Prototype

void pmu6573_pmu_customization(void) Description

HW init settings for customization. Parameters none

none

none

Return Value none

3.2.4

pmu6573_chrdet_eint_irq

Prototype

void pmu6573_chrdet_eint_irq(void) Description

PMU interrupt handler. (charger detection) Parameters none

none

none

Return Value none

3.2.5

pmu6573_init

Prototype

void pmu6573_init(void) Description

Main init function.

FO

Parameters none

none

none

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 21 of 31

LY

MT6573 Confidential B

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

Return Value none

3.2.6

upmu_ldo_enable

Prototype

void upmu_ldo_enable(upmu_ldo_list_enum ldo, kal_bool enable) Description

LDO enable / disable function Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.7

upmu_ldo_on_sel

Prototype

void upmu_ldo_on_sel(upmu_ldo_list_enum ldo, upmu_ldo_on_sel_enum sel) Description

LDO enable control selection Parameters IN

IN

upmu_ldo_list_enum

LDOs SPEC definition

upmu_ldo_on_sel_enum

typedef enum { LDO_ENABLE_WITH_SRCLKEN = 0, LDO_ENABLE_LDO_EN_REGISTER = 1 }upmu_ldo_on_sel_enum;

Return Value none

3.2.8

upmu_ldo_vol_sel

Prototype

void upmu_ldo_vol_sel(upmu_ldo_list_enum ldo, upmu_ldo_vol_enum vol) Description

LDO output voltage selection Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

upmu_ldo_vol_enum

Please see the voltage table

Return Value

FO

none

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 22 of 31

upmu_ldo_ndis_enable

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3.2.9

LY

MT6573 Confidential B

Prototype

void upmu_ldo_ndis_enable(upmu_ldo_list_enum ldo, kal_bool enable) Description

NMOS dis-charge enable Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.10 upmu_ldo_stb_enable Prototype

void upmu_ldo_stb_enable(upmu_ldo_list_enum ldo, kal_bool enable) Description

Battery driver use this function to inform the Android service to get information Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.11 upmu_ldo_oc_auto_off Prototype

void upmu_ldo_oc_auto_off(upmu_ldo_list_enum ldo, kal_bool auto_off) Description

Enable to power-off the Vcama automatically if the VCAMA_OC_FLAG been asserted Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.12 upmu_ldo_ocfb_enable Prototype

void upmu_ldo_ocfb_enable(upmu_ldo_list_enum ldo, kal_bool enable) Description

over-current fold-back enable Parameters

upmu_ldo_list_enum

FO

IN IN

kal_bool

LDOs SPEC definition True / False

Return Value MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 23 of 31

LY

MT6573 Confidential B

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

none

3.2.13 upmu_ldo_get_oc_status Prototype

kal_bool upmu_ldo_get_oc_status(upmu_ldo_list_enum ldo) Description

The flag informs some LDO over current status have been asserted Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

Return Value

True for exist, false for not exist

3.2.14 upmu_ldo_get_status Prototype

kal_bool upmu_ldo_get_status(upmu_ldo_list_enum ldo) Description

LDO on/off status Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

Return Value

True for exist, false for not exist

3.2.15 upmu_ldo_oc_status Prototype

kal_bool upmu_ldo_oc_status(upmu_ldo_list_enum ldo) Description

The flag informs some LDO over current status have been asserted Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

Return Value

True for exist, false for not exist

3.2.16 upmu_ldo_status Prototype

kal_bool upmu_ldo_status(upmu_ldo_list_enum ldo) Description

LDO on/off status Parameters

upmu_ldo_list_enum

FO

IN

LDOs SPEC definition

Return Value True for exist, false for not exist MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 24 of 31

LY

MT6573 Confidential B

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3.2.17 upmu_ldo_stb_td Prototype

void upmu_ldo_stb_td(upmu_ldo_list_enum ldo, upmu_ldo_stb_td_enum sel) Description

The delay time setting for LDO soft start Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

upmu_ldo_stb_td_enum

Value depends on datasheet

Return Value none

3.2.18 upmu_ldo_cal Prototype

void upmu_ldo_cal(upmu_ldo_list_enum ldo, kal_uint8 val) Description

LDO output voltage calibration Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_uint8

Value depends on datasheet

Return Value none

3.2.19 upmu_ldo_en_force_enable Prototype

void upmu_ldo_en_force_enable(upmu_ldo_list_enum ldo, kal_bool enable) Description

LDO force enable control signal Parameters IN

upmu_ldo_list_enum

LDOs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.20 upmu_ldo_oc_td Prototype

void upmu_ldo_oc_td(upmu_ldo_list_enum ldo, upmu_ldo_oc_td_enum sel) Description

The deglitch time constant for LDO over-current status Parameters upmu_ldo_list_enum

FO

IN IN

upmu_ldo_oc_td_enum

LDOs SPEC definition

Please see the datasheet

Return Value MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 25 of 31

LY

MT6573 Confidential B

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

none

3.2.21 upmu_buck_enable Prototype

void upmu_buck_enable(upmu_buck_list_enum buck, kal_bool enable) Description

Enable control signal Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.22 upmu_buck_rs Prototype

void upmu_buck_rs(upmu_buck_list_enum buck, upmu_buck_rs_enum sel) Description

The local/remote sense setting Parameters IN

IN

upmu_buck_list_enum

BUCKs SPEC definition

upmu_buck_rs_enum

typedef enum { BUCK_LOCAL_SENSE = 0, BUCK_REMOTE_SENSE = 1 }upmu_buck_rs_enum;

Return Value none

3.2.23 upmu_buck_sf_str_mode Prototype

void upmu_buck_sf_str_mode(upmu_buck_list_enum buck, upmu_buck_sf_str_mode_enum sel) Description

soft-start mode setting Parameters IN

BUCKs SPEC definition

upmu_buck_sf_str_mode_enum

typedef enum { BUCK_SOFT_START_DIRECT_SWITCH = 0, BUCK_SOFT_START }upmu_buck_sf_str_mode_enum;

FO

IN

upmu_buck_list_enum

Return Value none

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 26 of 31

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

3.2.24 upmu_buck_normal_voltage_adjust

LY

MT6573 Confidential B

Prototype

void upmu_buck_normal_voltage_adjust(upmu_buck_list_enum buck, upmu_buck_vol_enum vol) Description

The output voltage soft adjustment Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

upmu_buck_vol_enum

Please see the voltage table

Return Value none

3.2.25 upmu_buck_oc_auto_off Prototype

void upmu_buck_oc_auto_off(upmu_buck_list_enum buck, kal_bool auto_off) Description

Enable to power-off the BUCK automatically if the BUCK_OC_FLAG been asserted Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.26 upmu_buck_ocfb_enable Prototype

void upmu_buck_ocfb_enable(upmu_buck_list_enum buck, kal_bool enable) Description

BUCK over-current fold-back enable Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

kal_bool

True / False

Return Value none

3.2.27 upmu_buck_stb_enable Prototype

void upmu_buck_stb_enable(upmu_buck_list_enum buck, kal_bool enable) Description

BUCK soft-start enable Parameters

upmu_buck_list_enum

FO

IN IN

kal_bool

BUCKs SPEC definition True / False

Return Value MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 27 of 31

LY

MT6573 Confidential B

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

none

3.2.28 upmu_buck_get_oc_status Prototype

kal_bool upmu_buck_get_oc_status(upmu_buck_list_enum buck) Description

The over current status have been assert or not Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

Return Value

True for exist / False for not exist

3.2.29 upmu_buck_get_status Prototype

kal_bool upmu_buck_get_status(upmu_buck_list_enum buck) Description

The on/off status Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

Return Value

True for exist / False for not exist

3.2.30 upmu_buck_modeset Prototype

void upmu_buck_modeset(upmu_buck_list_enum buck, upmu_buck_modeset_enum sel) Description

Manual mode setting Parameters IN

IN

upmu_buck_list_enum

BUCKs SPEC definition

upmu_buck_modeset_enum

typedef enum { BUCK_AUTO_MODE = 0, BUCK_FORCE_PWM_MODE }upmu_buck_modeset_enum;

Return Value none

3.2.31 upmu_buck_sleep_voltage_adjust Prototype

FO

void upmu_buck_sleep_voltage_adjust(upmu_buck_list_enum buck, upmu_buck_vol_enum vol) Description MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 28 of 31

Prototype

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

The output voltage soft adjustment in sleep mode

LY

MT6573 Confidential B

Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

upmu_buck_vol_enum

The voltage table

Return Value none

3.2.32 upmu_is_buck_mode Prototype

kal_bool upmu_is_buck_mode(upmu_buck_list_enum buck) Description

Check LDO / BUCK mode Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

Return Value none

3.2.33 upmu_buck_oc_td Prototype

void upmu_buck_oc_td(upmu_buck_list_enum buck, upmu_buck_oc_td_enum val) Description

The deglitch time constant for BUCK over-current status Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

upmu_buck_oc_td_enum

Please reference the datasheet

Return Value none

3.2.34 upmu_buck_stb_td Prototype

void upmu_buck_stb_td(upmu_buck_list_enum buck, upmu_buck_stb_td_enum val) Description

The delay time setting for BUCK soft start Parameters IN

upmu_buck_list_enum

BUCKs SPEC definition

IN

upmu_buck_stb_td_enum

Please reference the datasheet

FO

Return Value

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 29 of 31

Customization

4.1

Customization Items

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

4

LY

MT6573 Confidential B

FO

Only some LDOs can be customized. Those LDOs are initialized in the system booting time depended on the project requirements.

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 30 of 31

LY

MT6573 Confidential B

Build

5.1

Source Code Structure & File Description

M R ED yu IA .li@ T E tin K C no O mo NF bil ID e.c EN om T I US AL EO N

5

File

Description

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power upmu_common_sw.h

The prototype of the uniform PMU APIs

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power upmu_common.c

The implementation of the uniform PMU APIs

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power upmu_hw.h

The control bits of the uniform APIs

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power upmu_sw.h

The value of control bits of the uniform APIs

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power pmu6573_hw.h

The address of each group

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power pmu6573_sw.h

The chip specific of each group

alps\mediatek\platform\mt6573\[kernel|UBOOT]\drivers\power pmu6573.c

5.2

The Group Profiles of the chip

Build Option

FO

In alps\mediatek\config\[project_name]\autoconfig\kconfig\project, use CONFIG_MTK_PMU=y for enabling the PMU driver.

MediaTek Confidential

© 2010 - 2011 MediaTek Inc.

This document contains information that is proprietary to MediaTek Inc. Unauthorized reproduction or disclosure of this information in whole or in part is strictly prohibited.

Page 31 of 31