日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

MTK Android 之MT6577驱动笔记

發(fā)布時間:2023/12/18 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MTK Android 之MT6577驱动笔记 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

原文:http://blog.csdn.net/cbk861110/article/details/9385439


1. LCD

1.1怎樣新建一個LCD驅(qū)動

LCD模組主要包括LCD顯示屏和驅(qū)動IC。比如LF040DNYB16a模組的驅(qū)動IC型號為NT35510。要在MTA5573平臺上新建這個lcd的驅(qū)動,步驟如下:

A.??????新建文件夾nt35510:

\mediatek\custom\common\uboot\lcm\ nt35510

\mediatek\custom\common\kernel\lcm\ nt35510

\mediatek\custom\common\lk\lcm\ nt35510//JB? ADD

B.修改\mediatek\custom\common\kernel\lcm\ mt65xx_lcm_list.c, 在lcm_driver_list [ lcm_count ] 中增加nt35510_lcm_drv。

C.打開mediatek\config\ginwave73_gb\ProjectConfig.mk:

BUILD_LK=yes //JB?ADD

BUILD_UBOOT=yes

BOOT_LOGO=wsvganl

?

CUSTOM_UBOOT_LCM = nt35510

CUSTOM_KERNEL_LCM = nt35510

CUSTOM_LK_LCM= nt35510//JB? ADD

LCM_WIDTH=

LCM_HEIGHT=

1.2 LCDIC nt35510.c驅(qū)動文件移植原則:

根據(jù)具體平臺,填充對應(yīng)的函數(shù),不能直接復(fù)制整個文件,避免不必要編譯和接口錯誤。

?

1.3 LCD旋轉(zhuǎn)180度(默認(rèn)豎屏方向,關(guān)聯(lián)到很多界面,需要統(tǒng)一修改)

Driver:MTK_LCM_PHYSICAL_ROTATION =180//驅(qū)動層此種改法影響camera\tp\sensor及其他功能。(不推薦此方法)

MMI:PhoneWindowManager.java中修改。(此方法會引起其他MMI問題) (不推薦此方法)

Feature:(橫屏豎屏替換)LCM_WIDTH= LCM_HEIGHT=

?

2. leds 配置

CUSTOM_KERNEL_LEDS= mt65xx

?

mediatek\custom\a5\kernel\leds\mt65xx\cust_leds.c

mediatek\custom\a5\uboot\cust_leds.c

static structcust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = {

{"red",??? ?MT65XX_LED_MODE_PMIC,MT65XX_LED_PMIC_NLED_ISINK0,{0}},?????? //benmodify

{"green",?? MT65XX_LED_MODE_PMIC,MT65XX_LED_PMIC_NLED_ISINK1,{0}},?????? //benmodify

{"blue",??? MT65XX_LED_MODE_PMIC, MT65XX_LED_PMIC_NLED_ISINK2,{0}},?????? //ben modify

{"jogball-backlight",MT65XX_LED_MODE_NONE, -1,{0}},

{"keyboard-backlight",MT65XX_LED_MODE_NONE,-1,{0}},

{"button-backlight",? MT65XX_LED_MODE_NONE, -1,{0}},????? //ben modify

{"lcd-backlight",MT65XX_LED_MODE_PWM,PWM1,{PWM_CLK_NEW_MODE_BLOCK,CLK_DIV128,4,4}},????????? //benmodify

//{"lcd-backlight",MT65XX_LED_MODE_CUST,(int)DISP_SetBacklight,{0}},

};

?

mediatek\source\kernel\drivers\leds\leds.c

?

3. Flash配置:

3.0?Flashemmc scat?分區(qū)(emmc) :

可對emmc進(jìn)行分區(qū),修改preloader\systemimage\userdata\FAT?等各個分區(qū)。

T:\jb\a6_homechoice\a6_homechoice_131014\alps\mediatek\build\tools\ptgen\MT6577\partition_table_MT6577.xls

?

Scatter文件參考(可從scat文件反向推斷partition_table?table便簽頁,例如是否含OTP分區(qū))

..\out\target\product\a5\MT6577_Android_scatter_emmc.txt//partition_table表中的分區(qū)一一對應(yīng)

?

board 配置與分區(qū)信息

mediatek\custom\konka73_gb\kernel\core\src\board.c

?

mediatek\custom\konka73_gb\kernel\core\src\partition.c

structpart_name_map g_part_name_map[PART_MAX_COUNT] = {

???????? {"preloader", PART_PRELOADER,?????? "rawdata",??? 0,?????? 0,?????? 0},

???????? {"dsp_bl",??? PART_DSP_DL,???? "rawdata",??? 1,?????? 0,?????? 0},

???????? {"mbr",??????? PART_MBR,????????? "raw data",??? 2,?????? 1,?????? 1},

???????? {"ebr1",??????? PART_EBR1,???????? "raw data",??? 3,?????? 1,?????? 1},

???????? {"pmt",??????? PART_PMT, "raw data",??? 4,?????? 0,?????? 0},

???????? {"nvram",???? PART_NVRAM,???? "rawdata",??? 5,?????? 0,?????? 0},

???????? {"seccfg",???? PART_SECURE,??? "raw data",??? 6,?????? 0,?????? 0},

???????? {"uboot",????? PART_UBOOT,????? "raw data",??? 7,?????? 1,?????? 1},

???????? {"boot",?????? PART_BOOTIMG,? "raw data",??? 8,?????? 1,?????? 1},

???????? {"recovery",? PART_RECOVERY,???????? "rawdata",??? 9,?????? 1,?????? 1},

???????? {"sec_ro",???? PART_SECSTATIC,???????? "ext4",???????? 10,???? 0,?????? 0},

???????? {"misc",?????? PART_MISC,???????? "raw data",??? 11,???? 0,?????? 0},

???????? {"logo",?????? PART_LOGO,??????? "raw data",??? 12,???? 1,?????? 1},

???????? {"expdb",???? PART_APANIC,???? "raw data",??? 13,???? 0,?????? 0},

???????? {"system",??? PART_ANDSYSIMG,?????? "ext4",???????? 14,???? 1,?????? 1},

???????? {"cache",????? PART_CACHE,????? "ext4",???????? 15,???? 1,?????? 1},

???????? {"userdata",?? PART_USER,???????? "ext4",???????? 16,???? 1,?????? 1},

???????? {"fat", PART_FAT,?? "fat",? 17,???? 0,?????? 0},

};

?

3.1 FLASH參數(shù)配置文件位置(MemoryDeviceList_MT6577.xls)

MEMORY_DEVICE_XLS =

mediatek\build\tools\emigen\$(MTK_PLATFORM)\MemoryDeviceList_$(MTK_PLATFORM).xls

.xls文件含三個頁面:

MT6577(page one):配置Flash Vendor Id 對應(yīng)的硬件參數(shù)。

NAND(page two):

emmc_region(pagethree)

?

3.2 型號配置:

3.2.1 CUSTOM_MEMORY_HDR

mediatek\custom\$(PROJECT)\preloader\inc\custom_MemoryDevice.h

#defineBOARD_ID??????????????? MT6577_EVB

#defineCS_PART_NUMBER[0]??????H9TP32A4GDMCPR_KDM

#defineCS_PART_NUMBER[1]?????? KMKUS000VM_B410

?

3.2.2 CUSTOM_NAND_HDR

mediatek\custom\$(PROJECT)\common\nand_device_list.h

static constflashdev_info gen_FlashTable[]={

???????? {0xECBC, 0x006656, 5, 16, 512, 256,4096,? 128,0x21044333,"KA100O015E_BJ", 1},

???????? {0xECBC, 0x006A56, 5, 16, 512, 256,4096,? 128,0x10801011,"K524G2GACH_B0", 0},

???????? {0xADBC, 0x801620, 5, 16, 512, 256,4096,? 128,0x10801011,"H9DA4VH2GJAMC", 3},

???????? {0x98BC, 0x906676, 5, 16, 512, 256,4096,? 128,0x10401000,"KSLCCBL1FB4G3", 0},

???????? {0x0000, 0x000000, 0, 0, 0, 0, 0, 0,0,"xxxxxxxxxx", 0},

};

?

備注:(以下2部分為附屬內(nèi)容,不做主要調(diào)試)

3.3 emmc開關(guān)配置

EMMC_CHIP=

MTK_EMMC_SUPPORT=yes

MTK_EMMC_SUPPORT_OTP=no

MTK_NAND_PAGE_SIZE=4K

?

?

3.4 EEPROM

CUSTOM_HAL_EEPROM =dummy_eeprom

CUSTOM_KERNEL_EEPROM= dummy_eeprom?? #s24cs64a_eeprom

mediatek\custom\common\kernel\eeprom\dummy_eeprom\dummy_eeprom.c

?

?

4.GPIO/EINT/ADC/KEYPAD/PMIC?配置(根據(jù)原理圖設(shè)計):

..\mediatek\custom\a5\kernel\dct\dct\codegen.dws

..\mediatek\source\dct\DrvGen.exe

?

?

5.keypad

5.1按鍵配置(根據(jù)原理圖):DCT(Driver Customization Tool):

..\mediatek\custom\a5\kernel\dct\dct\codegen.dws

..\mediatek\source\dct\DrvGen.exe

客制化:按鍵定義表、de-bounce time 、Power key Eint Gpio、DownLoadKey、|Mode Key、Factory Key、Recovery Key

?

5.2 物理按鍵工程模式之名稱定義

..\mediatek\custom\a5\factory\inc\cust_keys.h

#defineKEYS_PWRKEY_MAP??????????? { KEY_POWER,"Power" }

?

#defineDEFINE_KEYS_KEYMAP(x)???????????? \

struct key x[] = {?????????????????????? \

???????? KEYS_PWRKEY_MAP,???????????? \

???????? { KEY_HOME,?????? "Home" },??????? \

???????? { KEY_MENU,?????? "Menu" },???????? \

???????? { KEY_HOMEPAGE,?? "HomePage" },????????? \

}

#define CUST_KEY_UP???????????? KEY_UP

?

6.PM 充電

6.1 配置文件位置:

CUSTOM_KERNEL_BATTERY= battery

mediatek\custom\a5\kernel\battery\battery\cust_battery.h

mediatek\custom\a5\kernel\battery\battery\custom_fuel_gauge.h

mediatek\platform\mt6573\kernel\drivers\power\mt6573_battery.c

?

6.2充電常用參數(shù)修改:

..\mediatek\custom\a5\kernel\battery\battery\cust_battery.h

6.2.1充電電流修改:

#defineUSB_CHARGER_CURRENT???????????????????????????????????????? Cust_CC_550MA?? // ?:Cust_CC_450MA

#defineAC_CHARGER_CURRENT?????????????????????????????????????????? Cust_CC_800MA?? // : Cust_CC_650MA

6.2.2.充電電阻設(shè)定(根據(jù)硬件的bom):

#defineR_CURRENT_SENSE 2????????????????????????????? //0.2 Ohm// 0.2歐姆

6.2.3? 充電溫度檢測設(shè)定

開啟、關(guān)閉:

#defineBAT_TEMP_PROTECT_ENABLE??? 1?????? //

// #defineBAT_NTC_TSM_1

NTC修改為10K電阻或者47K電阻(NTC 為電池溫度保護(hù)NegativeTemperature Coefficient)

#define BAT_NTC_101??? //#define BAT_NTC_47 0

// #defineBAT_NTC_TSM_1????? //

?

其他:

#defineV_CHARGER_MIN 4400????????????????????????????????????? //benmodify //4400 // 4.4 V

#defineV_CHARGER_ENABLE 1??????????????????????????????????? //1:ON , 0:OFF????? //

?

6.3 電池電量檢測(FUEL GAUGE方式,比voltagemapping 方式更精確):

..\mediatek\custom\a5\kernel\battery\battery\cust_fuel_gauge.h

#defineQ_MAX_POS_50? ((BATT_CAPACITY * 1316) /1307)????? //ben modify //3121 // ?: 2561

#defineQ_MAX_POS_25? BATT_CAPACITY???????? //ben modfiy //3100 // ?: 2561

#define Q_MAX_POS_0???????????? ((BATT_CAPACITY * 1220) / 1307)????? //ben modfiy //2893 // ?: 2561

#defineQ_MAX_NEG_10? ((BATT_CAPACITY * 1162) /1307)????? //ben modfiy //2756 // ?: 2561

?

#defineQ_MAX_POS_50_H_CURRENT???????? ((BATT_CAPACITY* 1295) / 1307)????? //ben modfiy //3071 // ?: 2534

#defineQ_MAX_POS_25_H_CURRENT???????? ((BATT_CAPACITY* 1270) / 1307)????? //ben modfiy //3012 // ?: 2534

#defineQ_MAX_POS_0_H_CURRENT ((BATT_CAPACITY *1102) / 1307)????? //ben modfiy //2613 // ?: 2534

#defineQ_MAX_NEG_10_H_CURRENT??????? ((BATT_CAPACITY* 599) / 1307)?????? //ben modfiy //1420 // ?: 2534

?

6.4 FUEL GAUGE 電池電量檢測方法及原理(備注)

隨著大容量電池的使用,如果設(shè)備能夠精確的了解電池的電量,不僅能夠很好地保護(hù)了電池,防止其過放電,同時也能夠讓用戶精確地知道剩余電量來估算所能使用的時間,及時地保存重要數(shù)據(jù)。電池電量的檢測有三種種不同電量計的實現(xiàn)方法,

詳細(xì)出處:http://www.52rd.com/bbs/Dispbbs.asp?BoardID=58&ID=237149

?

6.5? MTK Android 充電概念

目前充電主要包括Power Off Charging(關(guān)機(jī)充電) 、IPO Charging(假關(guān)機(jī)充電)和 OS Charging(開機(jī)充電) 三個部分

1),Power Off Charging 部分,可以仔細(xì)閱讀如下部分的code:

alps\mediatek\platform\mt6575\uboot\mt6575_bat.c?// Power Off Charging 的控制流程, 建議從函數(shù)mt65xx_bat_init() 開始看code

alps\mediatek\custom\[project]\uboot\inc\cust_battery.h?// Power off Charging的一些充電參數(shù)的配置

2),OS charging部分,可以仔細(xì)閱讀如下部分的code:

alps\mediatek\platform\mt6575\kernel\drivers\power\mt6575_battery.c?// OS Charging 的控制流程, 建議從函數(shù)BAT_thread()開始看

alps\mediatek\custom\[project]\kernel\battery\battery\cust_battery.h????// OS Charging的一些充電參數(shù)的配置

建議將alps\mediatek\platform\mt6575\kernel\drivers\power\ 目錄下的所有文件都仔細(xì)閱讀一遍

3), IPO Charging部分實際使用的還是OSCharging部分的code,IPO可以參考 ?alps\mediatek\source\external\ipod\ ?目錄下的相關(guān)文件

?

6.7充電界面顯示修改:

\mediatek\custom\a5\lk\include\target\cust_display.h

\mediatek\external\ipod\bootlogo.cpp

?

6.8?電池型號、容量替換,需修改:電池曲線(電池廠商提供),修改對應(yīng)文件:

mediatek\custom\a5\kernel\battery\battery\cust_battery.h

mediatek\custom\a5\kernel\battery\battery\custom_fuel_gauge.h

?

?

7.camera

7.1 相關(guān)代碼位置:

CUSTOM_HAL_CAMERA =camera

CUSTOM_HAL_IMGSENSOR= gc2015_yuv

CUSTOM_KERNEL_IMGSENSOR= gc2015_yuv

CUSTOM_HAL_MAIN_IMGSENSOR= gc2015_yuv

CUSTOM_KERNEL_MAIN_IMGSENSOR= gc2015_yuv

?

kernel

\mediatek\custom\common\kernel\imgsensor\

\mediatek\custom\common\kernel\imgsensor\src

kd_imgsensor.h

kd_sensorlist.h

?

hal

\mediatek\custom\common\hal\imgsensor\

sensorlist.cpp

MTKCameraHardware.cpp

?

7.2 拍照圖片尺寸設(shè)置:

..\mediatek\custom\a5\hal\camera\camera\cfg_ftbl_custom_raw_main.h

//Capture Size

CONFIG_FEATURE(FID_CAP_SIZE,

??? BY_DEFAULT(CAPTURE_SIZE_1600_1200),

??? /*BY_DEFAULT(CAPTURE_SIZE_2560_1920), benmodify*/

??? CAPTURE_SIZE_640_480,

??? CAPTURE_SIZE_1280_960,CAPTURE_SIZE_1600_1200,

)

?

7.3 Camera角度旋轉(zhuǎn)

..\\alps\mediatek\config\a5\ProjectConfig.mk

MTK_LCM_PHYSICAL_ROTATION=0

?

8. Voice coil motor攝像頭上的自動調(diào)焦音圈馬達(dá)

CUSTOM_HAL_LENS =dummy_lens dummy_lens

CUSTOM_KERNEL_LENS= dummy_lens dummy_lens

?

CUSTOM_HAL_MAIN_LENS= dummy_lens

CUSTOM_HAL_MAIN_BACKUP_LENS=

CUSTOM_HAL_SUB_LENS= dummy_lens

CUSTOM_HAL_SUB_BACKUP_LENS=

?

CUSTOM_KERNEL_MAIN_LENS= dummy_lens

CUSTOM_KERNEL_MAIN_BACKUP_LENS=

CUSTOM_KERNEL_SUB_LENS= dummy_lens

CUSTOM_KERNEL_SUB_BACKUP_LENS=

?

mediatek\custom\common\kernel\lens\dummy_lens\dummy_lens.c

?

?

9.gpio

9.1配置文件位置:

.\mediatek\build\makemtk.mk

?

mediatek\source\dct\DrvGen

mediatek\custom\$(PROJECT)\kernel\dct\dct\codegen.dws

?

9.2設(shè)置方法:

mt_set_gpio_mode(GPIO_CTP_EN_PIN,GPIO_CTP_EN_PIN_M_GPIO);

mt_set_gpio_dir(GPIO_CTP_EN_PIN,GPIO_DIR_OUT); //GPIO_DIR_IN);

mt_set_gpio_out(GPIO_CTP_EN_PIN,GPIO_OUT_ZERO); // GPIO_OUT_ONE);

?

10. TouchPanel

10.1配置

CUSTOM_KERNEL_TOUCHPANEL= gt818b

?

..\mediatek\custom\common\kernel\touchpanel\src\mtk_tpd.c

tpd_driver_add(&tpd_device_driver);

platform_driver_unregister(&tpd_driver);

?

10.2 TP原點由IC商現(xiàn)場調(diào)試后釋放方案設(shè)計公司。

?

10.3 引腳定義

復(fù)位腳、中斷、I2C

?

13.4?物理概念

T+G?雙層玻璃

P+G?單層玻璃

?

10.4 TP實現(xiàn)距離感應(yīng)功能宏開關(guān):

mediatek\custom\common\kernel\touchpanel\gslX680\ gslX680_driver.c

//#defineTPD_PS_SUPPORT

?

11??????震動馬達(dá)

CUSTOM_KERNEL_VIBRATOR=vibrator

11.1馬達(dá)震動幅度:

.. \mediatek\custom\a5\kernel\vibrator\cust_vibrator.c

static structvibrator_hw cust_vibrator_hw = {

???????? .vib_timer = 80,//30,???????? //ben modify

};

?

12. RTC

12.1配置文件位置:

CUSTOM_KERNEL_RTC =rtc

?

mediatek\custom\konka73_gb\kernel\rtc\rtc\rtc-mt6573.h

mediatek\platform\mt6573\kernel\drivers\rtc\mtk_rtc.c

?

12.2. RTC默認(rèn)日期

\alps\mediatek\custom\[project]\preloader\inc\cust_rtc.h

\alps\mediatek\custom\[project]\kernel\rtc\rtc\rtc-mt65XX.h

#defineRTC_DEFAULT_YEA?????????????? 2013//2010//cbk.a5.default.date.2013.07.12

#defineRTC_DEFAULT_MTH???? ???????? 7// 1ff

?

?

13. wifi

CUSTOM_KERNEL_WIFI=

MTK_SCREEN_OFF_WIFI_OFF= no

MTK_WIFI_P2P_SUPPORT= yes

MTK_WIFI_HOTSPOT_SUPPORT= yes

?

mediatek\custom\common\kernel\wifi\mt592x\dummy.c

?

14.. HEADSET

CUSTOM_KERNEL_HEADSET= accdet

MTK_HEADSET_ICON_SUPPORT= yes

?

mediatek\custom\konka73_gb\kernel\headset\accdet\accdet_custom.h

?

14 SIM

15.1雙卡、單卡版本切換:

Double SIM

GEMINI = yes

MTK_GEMINI_ENHANCEMENT= yes

MTK_SHARE_MODEM_SUPPORT= 2

MTK_SHARE_MODEM_CURRENT= 2

Single SIM

GEMINI = no

MTK_GEMINI_ENHANCEMENT= no

MTK_SHARE_MODEM_SUPPORT= 2

MTK_SHARE_MODEM_CURRENT= 1

?

16. 傳感器

MTK_SENSOR_SUPPORT= yes

CUSTOM_KERNEL_ACCELEROMETER= auto//重力加速度傳感器

CUSTOM_KERNEL_MAGNETOMETER=akm8975//磁感應(yīng)器

CUSTOM_KERNEL_ALSPS= tmd2771//光感 距離傳感器

CUSTOM_KERNEL_BAROMETER=//氣壓計

CUSTOM_KERNEL_GYROSCOPE=//陀螺儀

?

16.1 ?重力加速度傳感器(G-sensor感應(yīng)器

CUSTOM_KERNEL_ACCELEROMETER= auto//傳感器

#ifdefined(MTK_AUTO_DETECT_ACCELEROMETER)

\mediatek\source\kernel\drivers\hwmon\hwmsen\Hwmsen_dev.c

inthwmsen_gsensor_add(struct sensor_init_info* obj)

\mediatek\custom\common\kernel\accelerometer\auto\

?

16.2 ALS\PS 光感距離傳感器

CUSTOM_KERNEL_ALSPS= tmd2771

?

mediatek\custom\common\kernel\alsps\tmd2771\tmd2771.c

mediatek\custom\common\kernel\alsps\tmd2771\tmd2771.h

mediatek\custom\konka73_gb\kernel\alsps\tmd2771\cust_alsps.c

?

16.3 GYRO-sensormotion sensor 陀螺儀

CUSTOM_KERNEL_GYROSCOPE= l3g4200d

?

mediatek\custom\common\kernel\gyroscope\l3g4200d\l3g4200d.c

mediatek\custom\konka73_gb\kernel\gyroscope\l3g4200d\cust_gyro.c

?

16.4 BAROMETER-sensor氣壓計

CUSTOM_KERNEL_BAROMETER= ms5607

?

mediatek\custom\konka73_gb\kernel\barometer\ms5607\cust_baro.c

mediatek\custom\common\kernel\barometer\ms5607\ms5607.c

?

16.6 compass 指南針

CUSTOM_KERNEL_MAGNETOMETER= akm8975

?

mediatek\custom\common\kernel\magnetometer\akm8975\akm8975.c

mediatek\custom\konka73_gb\kernel\magnetometer\akm8975\cust_mag.c

?

17. flashlight

CUSTOM_HAL_FLASHLIGHT= dummy_flashlight

CUSTOM_KERNEL_FLASHLIGHT= dummy_flashlight

#constant_flashlight? 補(bǔ)光燈(camera閃光燈)

#peak_flashlight

#torch_flashlight? 手電筒

# dummy_flashlight

備注:camera閃光燈與camera驅(qū)動無關(guān),只需要打開開關(guān),這是由MTK開發(fā)的獨立功能。

?

mediatek\custom\common\kernel\flashlight\dummy_flashlight\dummy_flashlight.c

mediatek\custom\common\kernel\flashlight\src\kd_flashlightlist.c

mediatek\custom\common\kernel\flashlight\

?

17.1 LED閃光燈配置為手電筒模式:

?

?

?

18. jogball 軌跡球

CUSTOM_KERNEL_JOGBALL=

?

mediatek\custom\common\kernel\jogball\

?

18. atv

CUSTOM_HAL_MATV =

CUSTOM_KERNEL_MATV=

?

HAVE_MATV_FEATURE=yes#no? #Armin

MTK_ATV_CHIP=MTK_MT5193?? # Armin

?

MTK_MATV_ANALOG_SUPPORT=yes#no//模擬通道、數(shù)字通道切換功能開關(guān)

?

mediatek\custom\common\kernel\matv\mt5193\matv.c

?

19. sound

MTK_SOUNDRECORDER_APP= yes

CUSTOM_KERNEL_SOUND= speaker

?

mediatek\custom\common\kernel\sound\inc\yusu_android_speaker.h

mediatek\custom\konka73_gb\kernel\sound\speaker\yusu_android_speaker.c

?

20. USB

CUSTOM_KERNEL_USB =mt6577

?

mediatek\custom\common\kernel\usb\src\Makefile

mediatek\custom\mt6573\kernel\usb\src\mtk_usb_custom.c

mediatek\custom\mt6573\kernel\usb\src\mtk_usb_custom.h

mediatek\custom\mt6573\uboot\inc\cust_sdc.h

mediatek\platform\mt6573\kernel\drivers\usb-gadget\

mediatek\platform\mt6573\kernel\drivers\power\

?

20.1 USB OTG功能(終端連接外接U盤)

alps/mediatek/config/{project}/autoconfig/kconfig/project中打開

CONFIG_USB_MTK_OTG=y

CONFIG_USB_MTK_HDRC_HCD= y

?

20.2 MTP(MediaTransfer Protocol)

USB連接設(shè)備,可選存儲方式介紹:

USB存儲設(shè)備、MTP(媒體設(shè)備)、PTP(相機(jī))、只充電、內(nèi)置光盤。

?

21. BT

MTK_WLAN_CHIP =MT6620?? ?# candidate settings: MT6620

MTK_BT_CHIP =MTK_MT6620? # candidate settings:MTK_MT6611\MTK_MT6612\MTK_MT6616\MTK_MT6620

MTK_WLAN_SUPPORT =yes

MTK_BT_SUPPORT =yes

MTK_WLAN_SUPPORT =yes

MTK_WLANBT_SINGLEANT= no

MTK_BT_30_HS_SUPPORT= yes

####config BTfeature###########

# please do notmodify these options

MTK_BT_21_SUPPORT =yes

MTK_BT_30_SUPPORT =yes

MTK_BT_40_SUPPORT =yes

MTK_BT_FM_OVER_BT_VIA_CONTROLLER= yes

MTK_BT_PROFILE_OPP= yes

MTK_BT_PROFILE_SIMAP= yes

MTK_BT_PROFILE_PRXM= yes//藍(lán)牙距離感應(yīng)裝置

MTK_BT_PROFILE_PRXR= yes//藍(lán)牙距離感應(yīng)裝置

MTK_BT_PROFILE_HIDH= yes//無線輸入設(shè)備

MTK_BT_PROFILE_FTP= yes

MTK_BT_PROFILE_PBAP= yes

MTK_BT_PROFILE_MANAGER= yes

MTK_BT_PROFILE_BPP= yes

MTK_BT_PROFILE_BIP= yes

MTK_BT_PROFILE_DUN= yes

MTK_BT_PROFILE_PAN= yes

MTK_BT_PROFILE_HFP= yes

MTK_BT_PROFILE_A2DP= yes

MTK_BT_PROFILE_AVRCP= yes

MTK_BT_PROFILE_AVRCP14= yes

MTK_BT_PROFILE_TIMEC= no

MTK_BT_PROFILE_TIMES= no

MTK_BT_PROFILE_MAPS= no

MTK_BT_PROFILE_MAPC= no

MTK_BT_PROFILE_SPP= yes

####config BTfeature end ####

?

mediatek\custom\common\kernel\btwlanem\btwlanem\btwlanem.c

?

22. FM

MTK_FM_CHIP =MT6620_FM

MTK_FM_SUPPORT =yes

MTK_FM_TX_SUPPORT =yes

MTK_FM_AUDIO =FM_ANALOG_INPUT

#FM_DIGITAL_INPUT?

?

mediatek\custom\common\kernel\fm\mt6620\dummy.c

?

24. OFN 光學(xué)手指鼠標(biāo)

CUSTOM_KERNEL_OFN =ofn1090

mediatek\custom\common\kernel\ofn\inc

mediatek\custom\konka73_gb\kernel\ofn\ofn1090\cust_ofn.c

?

?

26.modem

modem配置和編譯方法參照MTK feature phone。

?

26.1modem模塊位置及組成(內(nèi)嵌在一個類似于MTK feature phone?的文件工程中)

配置文件位置:\surplus77\modem\make\SURPLUS_HSPA.mak

工程名稱配置:BOARD_VER = SURPLUS_BB

版本號名稱設(shè)置:\surplus77\modem\make\Verno_SURPLUS.bld

編譯生成鏡像位置:

?

26.2 modem源碼工程編譯(../prj/modem)

?

26.3 modem庫替換編譯(..prj/alps/mediate/custom/common/modem)

CUSTOM_MODEM=YOUR_MODEM

此編譯表示:已將在modem源碼工程中編譯好的鏡像放入MTKAndroid 工程中后,存放位置:

./mediatek/custom/common/modem/YOUR_MODEM

執(zhí)行如下編譯命令:./mk update-modem,這個命令會依次做如下步驟:

1. custgen???? 2. check modem????? 3. sign modem??????? 4.update modem

?

26.4

WCDMA B1+B8:主要是歐洲

Wcdma B1+B2+B5:南美

Wcdma B2+B4+B5:北美

?

?

27.RF

RF模塊存放在modem大的模塊中,配置方法參照MTK feature phone

?

27.1 參數(shù)配置示例:

RF模塊名配置:

\surplus77\modem\make\SURPLUS_HSPA.mak

GSM射頻模塊:RF_MODULE = MT6162_CUSTOM

3G射頻模塊:UMTS_RF_MODULE = CUSTOM_MT6162

?

射頻參數(shù)配置:

GSM射頻參數(shù):

\surplus77\modem\custom\l1_rf\MT6162_CUSTOM\m12193.c

\surplus77\modem\custom\l1_rf\MT6162_CUSTOM\l1d_custom_rf.h

\surplus77\modem\custom\l1_rf\MT6162_CUSTOM\l1d_custom_rf_A5.h

\surplus77\modem\custom\l1_rf\MT6162_CUSTOM\l1d_custom_rf_A6.h

3G射頻參數(shù):

\surplus77\modem\custom\ul1_rf\CUSTOM_MT6162\u12193.c

\surplus77\modem\custom\ul1_rf\CUSTOM_MT6162\ul1d_custom_rf.h

\surplus77\modem\custom\ul1_rf\CUSTOM_MT6162\ul1d_custom_rf_A5.h

\surplus77\modem\custom\ul1_rf\CUSTOM_MT6162\ul1d_custom_rf_A6.h

?

27.2射頻頻段

2G:850/900/1800/1900

3G:850/1900/2100

Band1 2100

Band2

Band5

Band8

?

28.SIM卡

SIM卡模塊存放在modem大的模塊中,配置方法參照MTK feature phone。

?

28.1 simcard熱插拔功能

\surplus77\modem\make\SURPLUS_HSPA.mak

SIM_HOT_SWAP= NONE

?

?

29.SD卡

27.1熱插拔功能

1,sd卡熱插拔機(jī)制的實現(xiàn)需要軟件和硬件同時配合才能實現(xiàn)。

2,在電路上,需要一根單獨的檢測pin腳,通過檢測pin腳的高低電平來檢測sd卡的插拔動作,并在dws中將其配置成上拉或下拉

3,軟件上的配置主要就是在\mediatek\custom\<proj>\kernel\core\src\board.c中,msdc1_hw 結(jié)構(gòu)體中的 flags 的 MSDC_CD_PIN_EN 和MSDC_REMOVABLE,這兩個flag是熱插拔的flag,如果不需要熱插拔,請把這兩個flag移除。

4,如果是低電平觸發(fā),將msdc1_hw中的.cd_level ?設(shè)置成 MSDC_CD_LOW,否則設(shè)置成MSDC_CD_HIGH

?

備注:

(1),從hardware的角度,sd 卡槽中的CD 引腳與chip的EINT的某個腳連在一起,且chip內(nèi)部會有上拉電阻。

(2),dct的配置如下:

注:EINT16使用的哪個GPIO,可以參考硬件hw_config.xls文檔

?

?

30.module(四合一芯片:FM/BT/WIFI/GPS)MT6628、MT6620

CUSTOM_HAL_COMBO=mt6628

CUSTOM_KERNEL_FM=mt6628

MTK_BT_CHIP=MTK_MT6628

MTK_FM_CHIP=MT6628_FM

MTK_WLAN_CHIP=MT6628

MTK_COMBO_CHIP=MT6628

MTK_GPS_CHIP=MTK_GPS_MT6628

?

30.音頻參數(shù)集成(具體參數(shù)由硬件提供)

默認(rèn)音量等級修改:(normal/headset/handfree)

\mediatek\custom\a6\cgen\inc\audio_volume_custom_default.h

?

\mediatek\custom\a6\cgen\inc\audio_custom.h

\mediatek\custom\a6\cgen\inc\med_audio_default.h

\mediatek\custom\a6\cgen\inc\sph_coeff_default.h

?

總結(jié)

以上是生活随笔為你收集整理的MTK Android 之MT6577驱动笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。