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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

MTK MT6577 Android驱动设置方法资料分享

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

在網(wǎng)絡(luò)上看到的一篇資料,分享給大家參考,

MT6577 Android驅(qū)動設(shè)置:

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

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

    A. 新建文件夾nt35510:

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

    \mediatek\custom\common\lk\lcm\nt35510 //\mediatek\custom\common\uboot\lcm\nt35510

    B.修改\mediatek\custom\common\kernel\lcm\mt65xxlcmlist.c, 在lcmdriverlist [ lcmcount ] 中增加nt35510lcm_drv。

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

    BUILDLK=yes //BUILDUBOOT=yes

    BOOT_LOGO=wsvganl

    CUSTOMKERNELLCM = nt35510

    CUSTOMLKLCM= nt35510 // CUSTOMUBOOTLCM =nt35510

    LCM_WIDTH=600

    LCM_HEIGHT=1024

    驅(qū)動文件移植原則:

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

    1.3 LCD顯示旋轉(zhuǎn)(橫豎屏旋轉(zhuǎn),關(guān)聯(lián)到很多界面,需要統(tǒng)一修改)

    方式一:橫豎屏分辨率修改(還需要修改TP驅(qū)動):

    LCM_WIDTH=1024

    LCM_HEIGHT=600

    方式二:lcm顯示旋轉(zhuǎn),只需要修改:(還需要旋轉(zhuǎn)camera驅(qū)動)

    MTKLCMPHYSICAL_ROTATION=90

    MTKTOUCHPHYSICALROTATIONRELATIVETOLCM=90

    camera 旋轉(zhuǎn)

    Z:\jb2_131217\alps\mediatek\custom\hal\imgsensor\src\cfgsettingimgsensor.cpp

    static SensorOrientation_T const inst = {u4Degree_0 : 180,//90, // main sensor in degree (0, 90,180, 270)u4Degree_1 : 0,//90, // sub sensor in degree (0, 90, 180, 270)

    1.4 lcm參數(shù)修改

    \mediatek\custom\common\kernel\lcm\rgb_mt8193

    staticvoid lcmgetparams(LCM_PARAMS *params){}

    lcd rgb頻率:

    //params->dpi.mipipllclk_ref =536870912;

    params->dpi.mipipllclk_ref= (33.3(167772168*2))/26; //33.3MHz

    //params->dpi.mipipllclk_ref= 536870912; //52.0MHz

    colorformat 修改

    params->dpi.format = LCMDPIFORMATRGB888; // format is 24 bit//LCMDPIFORMATRGB666

    1.5 修改顯示分辨率:

    1.5.1配置修改:

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

    LCM_WIDTH=600

    LCM_HEIGHT=1024

    Lk_logo= wsvganl 及相關(guān)logo文件修改

    15.2 lcm驅(qū)動分辨率修改,可自行手動修改(注意橫豎數(shù)值對應(yīng))

    對應(yīng)的lcm :\mediatek\custom\common\kernel\lcm\rgb_mt8193

    defineFRAME_WIDTH (1024)

    defineFRAME_HEIGHT (600)

    15.3 tpsensor driver修改,對應(yīng)分辨率驅(qū)動(fae sensor提供驅(qū)動代碼)。

    \alps\mediatek\custom\prj\kernel\touchpanel\GSLx680\GSLx680.h

    defineSCREENMAXX 480

    defineSCREENMAXY 800

  • leds 配置
  • CUSTOMKERNELLEDS= mt65xx

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

    mediatek\custom\prj\lk\cust_leds.c

    static structcustmt65xxled custledlist[MT65XXLEDTYPE_TOTAL] = {

    {"red",MT65XXLEDMODE_NONE, -1,{0}},

    {"green",MT65XXLEDMODE_NONE, -1,{0}},

    {"blue",MT65XXLEDMODE_NONE, -1,{0}},

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

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

    {"button-backlight", MT65XXLEDMODE_NONE, -1,{0}}, // modify

    {"lcd-backlight",MT65XXLEDMODEPWM,PWM1,{PWMCLKNEWMODEBLOCK,CLKDIV128,4,4}}, //modify

    //{"lcd-backlight",MT65XXLEDMODECUST,(int)DISPSetBacklight,{0}},

    };

    ..\mediatek\platform\mt6582\kernel\drivers\leds\leds.c

    mt65xxflashlighton(){}

    mt65xxflashlightoff(){}

    2.1 LED背光亮度修改:

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

    驗證方式:adb shell查看:

    shell@android:/sys/class/leds/lcd-backlight$ cat max_brightness

    備注:MMI層最亮、最暗背光調(diào)節(jié)代碼:

    ./config.xml:

    20

    \alps\frameworks\base\core\java\android\os\PowerManager.java:

    private staticfinal int MAXIMUMBACKLIGHT = android.os.PowerManager.BRIGHTNESSON;

  • Flash配置:
  • 3.1 型號配置:

    3.1.1 CUSTOMMEMORYHDR(需要確認是否是MTK認證的flash ic)

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

    defineBOARDID MT6577EVB

    defineCSPARTNUMBER[0] H9TP32A4GDMCPR_KDM

    defineCSPARTNUMBER[1] KMKUS000VM_B410

    備注:新增flash ic添加到此處,flash可以做到兼容;不能兼容相同IC Id的memeory ic.

    3.2 特定項目不同類型分區(qū)定義信息(是否定義、順序):

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

    structpartnamemap gpartnamemap[PARTMAX_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.3 emmc scat 分區(qū)大小設(shè)置(emmc) :

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

    \alps\mediatek\build\tools\ptgen\MT6577\partitiontableMT6577.xls

    備注:Cache分區(qū)需要保持在512mb左右,否則系統(tǒng)會比較慢,響應(yīng)遲緩。

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

    MEMORYDEVICEXLS =

    mediatek\build\tools\emigen\$(MTKPLATFORM)\MemoryDeviceList$(MTK_PLATFORM).xls

    .xls文件含三個頁面:

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

    NAND(page two):

    emmc_region(pagethree)

    3.5 Flash驅(qū)動電壓修改,讀寫速度方式修改:

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

    struct msdc_hw msdc0_hw = {.clk_src = 1,.cmd_edge =MSDC_SMPL_FALLING,.data_edge =MSDC_SMPL_FALLING,.clk_drv = 5, //: 0 //memory驅(qū)動電壓.cmd_drv = 5, //: 0.dat_drv = 5, // : 0

    ifdefMTKEMMCSUPPORT

    .data_pins = 8,

    else

    .data_pins = 4,

    endif

    .data_offset = 0,

    ifdefMTKEMMCSUPPORT

    .flags = MSDC_SYS_SUSPEND | MSDC_HIGHSPEED,//memory讀寫速度// .flags = MSDC_SYS_SUSPEND | MSDC_HIGHSPEED |MSDC_UHS1 | MSDC_DDR,//.flags = MSDC_SYS_SUSPEND,

    else

    .flags =MSDC_SDCARD_FLAG,

    endif

    3.6 emmc FAT分區(qū)劃分:

    emmc型號、emmc軟件分區(qū)都會影響FAT分區(qū)的大小。

    驗證FAT Size需要對應(yīng)emmc型號機器下載對應(yīng)emmc軟件分區(qū)的軟件,不能預(yù)先下載FAT部分(影響實際FAT分區(qū)大小):

    adb shell

    cat /proc/emmc

    cat /proc/partition獲取大小。

    4.GPIO/EINT/ADC/KEYPAD/PMIC 配置(根據(jù)原理圖設(shè)計,可有原理硬件工程師指導(dǎo)填寫即可):

    4.1工具及dws文件位置:

    mediatek\source\dct\DrvGen

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

    4.2 dws配置文件位置:

    .\mediatek\build\makemtk.mk

    4.3 gpio設(shè)置方法:

    mtsetgpiomode(GPIOCTPENPIN,GPIOCTPENPINM_GPIO);

    mtsetgpiodir(GPIOCTPENPIN,GPIODIROUT); //GPIODIRIN);

    mtsetgpioout(GPIOCTPENPIN,GPIOOUTZERO); // GPIOOUTONE);

    5.keypad

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

    ..\mediatek\custom\prj\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.2factory mode工廠模式按鍵定義

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

    //工廠按鍵測試映射表,在.dws中配置按鍵映射表后自動生成

    \alps\mediatek\custom\prj\kernel\dct\dct\cust_kpd.h

    defineKEYSPWRKEYMAP { KEY_POWER,"Power" }

    defineDEFINEKEYSKEYMAP(x) \

    struct key x[] = { \

    KEYS_PWRKEY_MAP, \{ KEY_HOME, "Home" }, \{ KEY_MENU, "Menu" }, \{ KEY_HOMEPAGE, "HomePage" }, \

    }

    //工廠模式按鍵定義

    define CUSTKEYUP KEY_UP

    defineCUSTKEYVOLUP KEYPAGEUP // KEYVOLUMEUP

    defineCUSTKEYDOWN KEY_DOWN

    defineCUSTKEYVOLDOWN KEYVOLUMEDOWN // KEYVOLUMEDOWN

    defineCUSTKEYLEFT KEY_MENU

    defineCUSTKEYCENTER KEY_HOMEPAGE

    define CUSTKEYRIGHT KEY_BACK

    defineCUSTKEYCONFIRM KEYVOLUMEUP // KEYHOME

    defineCUSTKEYBACK KEY_POWER

    5.3 recoverymode恢復(fù)模式按鍵定義

    \mediatek\custom\prj\recovery\inc\cust_keys.h

    defineRECOVERYKEYDOWN KEY_VOLUMEDOWN

    defineRECOVERYKEYUP KEY_VOLUMEDOWN

    defineRECOVERYKEYENTER KEY_VOLUMEUP

    defineRECOVERYKEYMENU KEY_POWER

    5.4 home鍵配置(直接引出的,不需要在.dws中定義按鍵映射)

    \alps\mediatek\custom\prj\kernel\kpd\kpd\mtk_kpd.h

    defineKPDPMICRSTKEYMAP KEYHOME

    home鍵添加喚醒功能

    \alps\mediatek\config\prj\mtk-kpd.kl

    key 102 HOME WAKE

    6.PM 充電

    6.1 配置文件位置:

    CUSTOMKERNELBATTERY= battery

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

    mediatek\custom\kernel\battery\battery\customfuelgauge.h

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

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

    6.2.1充電電流修改:

    defineUSBCHARGERCURRENT CustCC550MA // :CustCC450MA

    define ACCHARGERCURRENT CustCC800MA // : CustCC650MA

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

    defineRCURRENTSENSE 2 //0.2 Ohm// 0.2歐姆

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

    defineBATTEMPPROTECT_ENABLE 1 //

    // #defineBATNTCTSM_1

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

    define BATNTC101 //#define BATNTC47 0

    其他:

    defineVCHARGERMIN 4400 //modify //4400 // 4.4 V

    defineVCHARGERENABLE 1 //1:ON , 0:OFF //

    6.7充電界面顯示修改:

    \mediatek\custom\lk\include\target\cust_display.h//坐標

    \mediatek\platform\mt6577\lk\mt_logo.c//顯示

    6.8 電池容量、電池曲線修改:

    電池容量修改:

    mediatek\custom\kernel\battery\battery\customfuelgauge.h

    define QMAXPOS_50 ((2168* 1316) / 1307)

    define QMAXPOS_25 2168

    define QMAXPOS_0 ((2168 * 1220) / 1307)

    define QMAXNEG_10 ((2168 * 1162) / 1307)

    define QMAXPOS50H_CURRENT ((2168 * 1295) / 1307)

    define QMAXPOS25H_CURRENT ((2168 * 1270) / 1307)

    define QMAXPOS0H_CURRENT ((2168 * 1102) / 1307)

    define QMAXNEG10H_CURRENT ((2168 * 599) / 1307)

    電池曲線集成方式:(電壓-百分比對應(yīng)表需要電池廠商提供)

    mediatek\custom\kernel\battery\battery\custfuelgauge.h

    BATTERYPROFILESTRUCbatteryprofilet1[] =// T1 0C

    BATTERYPROFILESTRUCbatteryprofilet2[] =// T2 25C

    7.camera

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

    mediatek\config\XXXX(紅色字為具體的項目名)

    文件:ProjectConfig.mk

    CUSTOMKERNELIMGSENSOR = …… gc2235_raw

    CUSTOMKERNELMAINIMGSENSOR = …… gc2235raw

    CUSTOMHALIMGSENSOR = …… gc2235_raw

    CUSTOMHALMAINIMGSENSOR = …… gc2235raw

    kernel:

    \mediatek\custom\common\kernel\imgsensor\gc2235_raw

    mediatek\custom\common\kernel\imgsensor\src

    文件:kd_sensorlist.h

    添加內(nèi)容:

    UINT32 GC2235SensorInit(PSENSORFUNCTIONSTRUCT *pfFunc);

    ACDKKDSENSORINITFUNCTION_STRUCT

    kdSensorList[MAXNUMOFSUPPORTSENSOR+1] =

    {

    if defined(GC2235_RAW)

    {GC2235_SENSOR_ID, SENSOR_DRVNAME_GC2235_RAW, GC2235SensorInit},

    endif

    };

    mediatek\custom\common\kernel\imgsensor\inc

    文件:kd_imgsensor.h

    添加內(nèi)容:

    define GC2235SENSORID 0x2235

    define SENSORDRVNAMEGC2235_RAW "gc2235"

    hal

    \mediatek\custom\common\hal\imgsensor\gc2235_raw

    mediatek\custom\common\hal\imgsensor\src

    文件:sensorlist.cpp

    添加內(nèi)容:

    MSDKSENSORINITFUNCTIONSTRUCT SensorList[] =

    {

    …………

    if defined(GC2235_RAW)

    RAWINFO(GC2235SENSORID, SENSORDRVNAMEGC2235RAW, NULL),

    endif

    …………

    };

    注意:在 kdSensorList 和 SensorList里面添加驅(qū)動的時候要注意,Sensor添加的位置要一樣。否則驅(qū)動會跑亂,輕則 ISP參數(shù)不對,重則 Sensor 無法啟動。

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

    ..\mediatek\custom\hal\camera\camera\cfgftbl$prj$rawmain.h

    //Capture Size

    CONFIGFEATURE(FIDCAP_SIZE,

    BY_DEFAULT(CAPTURE_SIZE_1600_1200),CAPTURE_SIZE_640_480,CAPTURE_SIZE_1280_960,CAPTURE_SIZE_1600_1200,

    )

    7.3 Camera物理角度旋轉(zhuǎn)

    90度:

    \alps\mediatek\custom\$prj$\hal\imgsensor\src\cfgsettingimgsensor.cpp

    static SensorOrientation_T const inst = {u4Degree_0 : 180,//90, // main sensor in degree (0, 90,180, 270)u4Degree_1 : 0,//90, // sub sensor in degree (0, 90, 180, 270)

    180度:

    Sensor FAE提供修改方法。

    7.4Camera 相同sensor id兼容方式(前后sensor id一致):

    //配置區(qū)分:

    CUSTOMKERNELIMGSENSOR = gc0308yuv# gc0308sub_yuv

    CUSTOMKERNELMAINIMGSENSOR =gc0308yuv # gc0308subyuv

    CUSTOMHALIMGSENSOR = gc0308yuv# gc0308sub_yuv

    CUSTOMHALMAINIMGSENSOR = gc0308yuv# gc0308subyuv

    //kernel:函數(shù)名也要區(qū)分

    \alps\mediatek\custom\common\kernel\imgsensor\gc0308subyuv

    \alps\mediatek\custom\common\kernel\imgsensor\gc0308_yuv

    //hal: 函數(shù)名也要區(qū)分

    \alps\mediatek\custom\common\hal\imgsensor\gc0308subyuv

    \alps\mediatek\custom\common\hal\imgsensor\gc0308_yuv

    //kdSensorList 和 SensorList里面添加驅(qū)動也要區(qū)分,sensor id不要區(qū)分,寫成一致,根據(jù)前后攝像頭開關(guān)代碼區(qū)分。

    define GC0328SENSORID 0x009D

    defineGC0328SUBSENSOR_ID 0x9D9D

    \alps\mediatek\custom\common\kernel\imgsensor\gc0328frontyuv_Sensor.c

    GC0328_FRONTGetSensorID(){

    if (sensorid == GC0328SENSOR_ID) {

    sensorid = GC0328FRONTSENSORID; //---lcz

    break;

    }

    if(sensorid != GC0328FRONTSENSORID) //---lcz

    {

    return ERROR_SENSOR_CONNECT_FAIL;

    }

    }

    GC0328_FRONTOpen(){

    if (sensorid == GC0328SENSOR_ID) {

    sensorid = GC0328FRONTSENSORID; //---lcz

    break;

    }

    if(sensorid != GC0328FRONTSENSORID) {

    return ERROR_SENSOR_CONNECT_FAIL;

    }

    }

  • Voice coil motor攝像頭上的自動調(diào)焦音圈馬達
  • CUSTOMHALLENS =dummylens dummylens

    CUSTOMKERNELLENS= dummylens dummylens

    CUSTOMHALMAINLENS= dummylens

    CUSTOMHALMAINBACKUPLENS=

    CUSTOMHALSUBLENS= dummylens

    CUSTOMHALSUBBACKUPLENS=

    CUSTOMKERNELMAINLENS= dummylens

    CUSTOMKERNELMAINBACKUPLENS=

    CUSTOMKERNELSUBLENS= dummylens

    CUSTOMKERNELSUBBACKUPLENS=

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

  • TouchPanel
  • 10.1配置

    CUSTOMKERNELTOUCHPANEL= gt818b

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

    ..\mediatek\custom\common\kernel\touchpanel\gt818b

    moduleinit(tpddriver_init);

    moduleexit(tpddriver_exit);

    tpddriveradd(&tpddevicedriver);

    tpddriverremove(&tpddevicedriver);

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

    10.3 引腳定義

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

    10.4 物理概念

    T+G 雙層玻璃

    P+G 單層玻璃

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

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

    //#defineTPDPSSUPPORT

    11 震動馬達

    CUSTOMKERNELVIBRATOR=vibrator

    a.馬達震動幅度(MT6582及其他最新平臺):

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

    static structvibratorhw custvibrator_hw = {

    .vib_timer = 80,//30, //振動時長.vib_limit = 9,//振動??.vib_vol = 0x5, //2.8V for vibr // :0x5//振動電壓

    };

    b.馬達震動幅度MT6577直接修改pmic驅(qū)動電壓:

    此文件可以修改各個gpio驅(qū)動電壓:

    \alps\mediatek\platform\mt6577\lk\mt_pmic.c

    voidPMICCUSTOMSETTING_V1(void) {}

    ret=pmicconfiginterface(BANK0DIGLDOCON33,0x3,

    BANK0RGVIBRVOSELMASK,BANK0RGVIBRVOSELSHIFT);//0x4

  • RTC
  • 12.1配置文件位置:

    CUSTOMKERNELRTC =rtc

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

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

    12.2. RTC默認日期

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

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

    defineRTCDEFAULTYEA 2013//2010//cbk..default.date.2013.07.12

    defineRTCDEFAULTMTH 7// 1ff

  • wifi
  • CUSTOMKERNELWIFI=

    MTKSCREENOFFWIFIOFF= no

    MTKWIFIP2P_SUPPORT= yes

    MTKWIFIHOTSPOT_SUPPORT= yes

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

    14.. HEADSET

    CUSTOMKERNELHEADSET= accdet

    MTKHEADSETICON_SUPPORT= yes

    mediatek\custom\konka73gb\kernel\headset\accdet\accdetcustom.h

    14 SIM

    14.1雙卡、單卡版本切換:

    Double SIM

    GEMINI = yes

    MTKGEMINIENHANCEMENT= yes

    MTKSHAREMODEM_SUPPORT= 2

    MTKSHAREMODEM_CURRENT= 2

    Single SIM

    GEMINI = no

    MTKGEMINIENHANCEMENT= no

    MTKSHAREMODEM_SUPPORT= 2

    MTKSHAREMODEM_CURRENT= 1

    14.2 simcard熱插拔功能

    MTKSIMHOT_SWAP=yes

    MTKSIMHOTSWAPCOMMON_SLOT=yes

    .dws配置方法(由原理圖設(shè)計填寫):

  • 傳感器
  • MTKSENSORSUPPORT= yes

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

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

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

    CUSTOMKERNELBAROMETER=//氣壓計

    CUSTOMKERNELGYROSCOPE=//陀螺儀

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

    CUSTOMKERNELACCELEROMETER= auto//傳感器

    ifdefined(MTKAUTODETECT_ACCELEROMETER)

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

    inthwmsengsensoradd(struct sensorinitinfo* obj)

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

    重力傳感方向設(shè)置:

    \alps\mediatek\custom\kernel\accelerometer\mc3210\cust_acc.c

    static structacchw custacc_hw = {

    .i2c_num = 2,.direction = 5, // modify//重力傳感方向

    16.2 ALS\PS 光感距離傳感器

    CUSTOMKERNELALSPS= tmd2771

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

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

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

    16.3 GYRO-sensormotion sensor 陀螺儀

    CUSTOMKERNELGYROSCOPE= l3g4200d

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

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

    16.4BAROMETER-sensor 氣壓計

    CUSTOMKERNELBAROMETER= ms5607

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

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

    16.5 MAGNETOMETER 磁感應(yīng)器

    \alps\mediatek\custom\kernel\magnetometer\yamaha532\cust_mag.c

    磁感應(yīng)方向設(shè)置:

    static structmaghw custmag_hw = {

    .i2c_num = 2,.direction = 3,//磁感應(yīng)方向//參照規(guī)格書.power_id = MT65XX_POWER_NONE, .power_vol= VOL_DEFAULT,

    };

    16.6 compass 指南針

    CUSTOMKERNELMAGNETOMETER= akm8975

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

    mediatek\custom\konka73gb\kernel\magnetometer\akm8975\custmag.c

  • flashlight
  • CUSTOMHALFLASHLIGHT= dummy_flashlight

    CUSTOMKERNELFLASHLIGHT= dummy_flashlight

    閃光燈類型:

    constant_flashlight 補光燈(camera閃光燈)

    peak_flashlight

    torch_flashlight 手電筒

    dummy_flashlight

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

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

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

    mediatek\custom\common\kernel\flashlight\

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

  • jogball 軌跡球
  • CUSTOMKERNELJOGBALL=

    mediatek\custom\common\kernel\jogball\

  • atv
  • CUSTOMHALMATV =

    CUSTOMKERNELMATV=

    HAVEMATVFEATURE=yes#no #Armin

    MTKATVCHIP=MTK_MT5193 # Armin

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

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

  • sound
  • MTKSOUNDRECORDERAPP= yes

    CUSTOMKERNELSOUND= speaker

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

    mediatek\custom\konka73gb\kernel\sound\speaker\yusuandroid_speaker.c

  • USB
  • CUSTOMKERNELUSB =mt6577

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

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

    mediatek\custom\mt6573\kernel\usb\src\mtkusbcustom.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中打開

    CONFIGUSBMTK_OTG=y

    CONFIGUSBMTKHDRCHCD= y

    20.2 MTP(MediaTransfer Protocol)

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

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

  • BT
  • MTKWLANCHIP =MT6620 # candidate settings: MT6620

    MTKBTCHIP =MTKMT6620 # candidate settings:MTKMT6611\MTKMT6612\MTKMT6616\MTK_MT6620

    MTKWLANSUPPORT =yes

    MTKBTSUPPORT = yes

    MTKWLANSUPPORT =yes

    MTKWLANBTSINGLEANT= no

    MTKBT30HSSUPPORT= yes

    config BTfeature

    please do notmodify these options

    MTKBT21_SUPPORT =yes

    MTKBT30_SUPPORT =yes

    MTKBT40_SUPPORT =yes

    MTKBTFMOVERBTVIACONTROLLER= yes

    MTKBTPROFILE_OPP= yes

    MTKBTPROFILE_SIMAP= yes

    MTKBTPROFILE_PRXM= yes//藍牙距離感應(yīng)裝置

    MTKBTPROFILE_PRXR= yes//藍牙距離感應(yīng)裝置

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

    MTKBTPROFILE_FTP= yes

    MTKBTPROFILE_PBAP= yes

    MTKBTPROFILE_MANAGER= yes

    MTKBTPROFILE_BPP= yes

    MTKBTPROFILE_BIP= yes

    MTKBTPROFILE_DUN= yes

    MTKBTPROFILE_PAN= yes

    MTKBTPROFILE_HFP= yes

    MTKBTPROFILE_A2DP= yes

    MTKBTPROFILE_AVRCP= yes

    MTKBTPROFILE_AVRCP14= yes

    MTKBTPROFILE_TIMEC= no

    MTKBTPROFILE_TIMES= no

    MTKBTPROFILE_MAPS= no

    MTKBTPROFILE_MAPC= no

    MTKBTPROFILE_SPP= yes

    config BTfeature end

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

  • FM
  • MTKFMCHIP =MT6620_FM

    MTKFMSUPPORT =yes

    MTKFMTX_SUPPORT =yes

    MTKFMAUDIO =FMANALOGINPUT

    FMDIGITALINPUT

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

  • OFN 光學手指鼠標
  • CUSTOMKERNELOFN =ofn1090

    mediatek\custom\common\kernel\ofn\inc

    mediatek\custom\konka73gb\kernel\ofn\ofn1090\custofn.c

    26.modem

    3g: \modem\make\PRJ_HSPA.mak

    2g: \modem\make\PRJ_GPRS.mak

    26.1modem模塊位置及組成

    配置文件位置:\prj\modem\make\PRJ_HSPA.mak

    工程名稱配置:BOARDVER = PRJBB

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

    ./make.shPRJ_HSPA.mak new

    26.3 modem文件修改:

    RF模塊名配置:(安裝項目區(qū)分定義文件夾名稱)

    \prj\modem\make\PRJ_HSPA.mak

    GSM射頻模塊:RFMODULE = MT6162CUSTOM

    3G射頻模塊:UMTSRFMODULE = CUSTOM_MT6162

    射頻參數(shù)配置:

    GSM射頻參數(shù):

    \prj\modem\custom\l1rf\MT6162CUSTOM\m12193.c

    \prj\modem\custom\l1rf\MT6162CUSTOM\l1dcustomrf.h

    \prj\modem\custom\l1rf\MT6162CUSTOM\l1dcustomrf_.h

    \prj\modem\custom\l1rf\MT6162CUSTOM\l1dcustomrf_.h

    3G射頻參數(shù):

    \prj\modem\custom\ul1rf\CUSTOMMT6162\u12193.c

    \prj\modem\custom\ul1rf\CUSTOMMT6162\ul1dcustomrf.h

    \prj\modem\custom\ul1rf\CUSTOMMT6162\ul1dcustomrf_.h

    \prj\modem\custom\ul1rf\CUSTOMMT6162\ul1dcustomrf_.h

    26.4 編譯好文件修改名稱并拷貝:

    \modem\build_PRJ\DEFAULT\bin:

    DbgInfoWR8.W1315.MD.WG.MPPRJMOLYWR8W1315MDWGMPV15201312101150PRJ.mak

    PRJPCB01MT6582_S00.elf

    PRJPCB01MT6582S00.MOLYWR8W1315MDWGMP_V15.bin

    \modem\build_PRJ\DEFAULT\tst\database

    BPLGUInfoCustomAppSrcPMT6582S00MOLYWR8W1315MDWGMP_V15

    catcher_filter.bin

    修改名稱,分別修改為:

    DbgInfoWR8.W1315.MD.WG.MPPRJMOLYWR8W1315MDWGMPV152013121011501wgn

    modem1wg_n.mak

    PRJPCB01MT6582S001wgn.elf

    modem1wg_n.img

    BPLGUInfoCustomAppSrcPMT6582S00MOLYWR8W1315MDWGMPV151wgn

    catcherfilter1wgn.bin

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

    CUSTOMMODEM=YOURMODEM

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

    ./mediatek/custom/common/modem/YOUR_MODEM

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

  • custgen 2. check modem 3. sign modem 4.update modem
  • gmodemband2 band7調(diào)換:

    \modem\custom\modem\ul1rf_PCBV1P1PAAIRB1258\ul1dcustom_rf.h

    define PDATABAND2PR1 0x0007

    define PDATABAND2PR2 0x0007

    define PDATABAND2PR2B 0x0007

    define PDATABAND2PR3 0x0000

    define PDATABAND2PT1 0x0007

    define PDATABAND2PT2 0x0107

    define PDATABAND2PT2B 0x0107

    define PDATABAND2PT3 0x0000

    define PDATABAND5PR1 0x0002

    define PDATABAND5PR2 0x0002

    define PDATABAND5PR2B 0x0002

    define PDATABAND5PR3 0x0000

    define PDATABAND5PT1 0x0002

    define PDATABAND5PT2 0x0202

    define PDATABAND5PT2B 0x0202

    射頻頻段

    2G:850/900/1800/1900

    3G:

    Band1 –2100???(其他)

    Band2 --

    Band5 --

    Band8 --

    WCDMA B1+B8:主要是歐洲

    Wcdma B1+B2+B5:南美

    Wcdma B2+B4+B5:北美

    29.SD卡

    27.1熱插拔功能

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

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

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

    4,如果是低電平觸發(fā),將msdc1hw中的.cdlevel 設(shè)置成 MSDCCDLOW,否則設(shè)置成MSDCCDHIGH

    備注:

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

    (2),dct的配置如下:

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

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

    CUSTOMHALCOMBO=mt6628

    CUSTOMKERNELFM=mt6628

    MTKBTCHIP=MTK_MT6628

    MTKFMCHIP=MT6628_FM

    MTKWLANCHIP=MT6628

    MTKCOMBOCHIP=MT6628

    MTKGPSCHIP=MTKGPSMT6628

    31.音頻參數(shù)集成(全部參數(shù)由硬件提供,直接合成)

    參照:[FAQ09151][Audio Drv]各個音頻參數(shù)的功能說明

    30.1 ring/key/mic/fmr/speech/sidetone/media/matv分別normal/headset/handfree三個模式的不同音量等級修改:

    \mediatek\custom\cgen\inc\audiovolumecustom_default.h//8個等級

    \mediatek\custom\cgen\inc\audiover1volumecustomdefault.h//16個等級

    30.2 med/speech音頻參數(shù)修改:

    \mediatek\custom\cgen\inc\medaudiodefault.h

    \mediatek\custom\cgen\inc\sphcoeffdefault.h

    30.3 voip音頻參數(shù)修改:

    \mediatek\custom\cgen\inc\audiovoipcustom.h

    轉(zhuǎn)載于:https://my.oschina.net/u/3989425/blog/2231243

    總結(jié)

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

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