1.MT6575上mclk設爲 26Mhz時,佔空比不是50%
MT6575上26Mhz mclk設置後佔空比不是50%, 量到爲61.7%.
2.Camera上電開 power(DVDD, AVDD, IOVDD)之間間隔時間太長
3.如何配置 lens
首先需要向sensor的vendor瞭解,使用的sensor是否內嵌lens的driver IC
如OV5640和MT9P017就是內嵌lens driver ic的。內嵌lens driver ic,即直接操作sensor的寄存器去推lens。
若sensor沒有內嵌lens的driver IC,則需要向模組廠瞭解,模組是否外掛了lens的driver IC,driver IC的型號是什麼。我們codebase裏的FM50AF下的代碼,對應了AD5820的driver ic。如果您的模組包的也是這顆lens driver IC,則直接配置爲fm50af即可;如果是其他型號的driver IC,您也可以嘗試使用AD5820的驅動(注意把device address改過來)
有些sensor自帶AF算法。如ov3640是一顆含AF core的sensor,即它自己能夠做AF算法。因爲YUV+AF要求sensor本身是能自己做AF算法的,所以不是每顆YUV sensor都是支持自動對焦的。如果您使用的sensor含有AF CORE,且您希望使用sensor自己的AF算法來對焦,即可配置爲sensordrive,但需要您參照文檔
ALPS_YUV+AF_customization_and_application_note(請在DMS上搜這篇文檔看)對sensor driver做針對AF功能的修改。
4.使用 FM50AF 之外的 Lens Driver的修改
由於root process & global writeable file已經在非PRC(中華人民共和國)地區被強制要求,因此ALPS.ICS2.MP 版本及之後版本對root權限方面做了要求,這個要求對於Camera的影響就是,如果使用 FM50AF 之外的lens driver,需要在 init.rc 文件中增加對新Lens driver權限和用戶方面的修改
例如增加了 XXXAF 這個lens driver 需要修改文件 mediatek\config\mt65XX\init.rc
添加下面二行
chmod 0660 /dev/XXXAF
chown system camera /dev/XXXAF
添加後如下
#Camera
chmod 0666 /dev/camera-sysram
chmod 0666 /dev/camera-isp
chmod 0660 /dev/camera-eis
chmod 0660 /dev/camera-fdvt
chmod 0666 /dev/camera-resmgr
chmod 0660 /dev/kd_camera_hw
chmod 0660 /dev/kd_camera_flashlight
chmod 0660 /dev/FM50AF
chmod 0660 /dev/XXXAF
chown system camera /dev/camera-sysram
chown system camera /dev/camera-isp
chown system camera /dev/camera-eis
chown system camera /dev/camera-fdvt
chown system camera /dev/camera-resmgr
chown system camera /dev/kd_camera_hw
chown system camera /dev/kd_camera_flashlight
chown system camera /dev/FM50AF
chown system camera /dev/XXXAF
5.如何修改I2C speed
Mediatek\custom\common\kernel\imgsensor\src\kd_sensorlist.c
iWriteReg()中最前面加上g_pstI2Cclient->timing,表示設置I2C的速度
如果不設置,爲默認值100K ,
比如想將I2C的speed設置爲400K,可將g_pstI2Cclient->timing設置爲400K
6.如何打開或者關閉閃光 燈
打開/關閉閃光燈可以通過如下配置(兩種方法) :
1. 在alps/mediatek/config/pjt/ProjectConfig.mk 文件中,按照如下配置
CUSTOM_HAL_FLASHLIGHT = constant_flashlight #dummy_flashlight
CUSTOM_KERNEL_FLASHLIGHT = constant_flashlight #dummy_flashlight
2. 在feature table中把flash相關的feature 打開/關閉
RAW sensor 涉及的文件
1) alps\mediatek\custom\project name\hal\camera\camera 目錄下cfg_ftbl_custom_raw_main.h
2) alps\mediatek\custom\common\hal\camera\camera 目錄下cfg_ftbl_custom_raw_main.h
3) alps\mediatek\source\external\mhal\src\core\drv\6575\isp目錄下cfg_ftbl_raw_sceneindep.h
YUV sensor 涉及的文件
1) alps\mediatek\custom\project name\hal\camera\camera 目錄下cfg_ftbl_custom_yuv_main.h
2) alps\mediatek\custom\common\hal\camera\camera 目錄下cfg_ftbl_custom_yuv_main.h
3) alps\mediatek\custom\common\hal\imgsensor\xxx_yuv目錄下cfg_ftbl_xxx_yuv.h
規則:優先級,1) > 2) > 3),即如果project name下相應的的文件,則只需要在相應的文件中打開flash相關的 feature,如果沒有,則在2)中的文件打開/關閉:
#if 1//0
// Flash Light
CONFIG_FEATURE(FID_AE_STROBE,
BY_DEFAULT(FLASHLIGHT_FORCE_OFF),
FLASHLIGHT_AUTO, FLASHLIGHT_FORCE_ON, FLASHLIGHT_FORCE_OFF
)
#endif
7.如何控制mclk的開關
由於mclk在sensor上電之前就已經開了,如果不滿足sensor spec中上電時序要求,可在開sensor power之前將mclk先 關閉,然後再需要時再打開,如何控制mclk的開關呢?
可調用void mt_isp_mclk_ctrl(int en) API去控制, (mediate\platform\mt6575\kernel\core\mt6575_isp.c)
8.如何調整閃光燈在 auto模式下的打閃閾值
參考[FAQ03033]
修改camera_ae_plinetable_xxx_mt657X.h文件註釋爲u4StrobeTrigerBV的值,例如下面代碼
static strAETable g_AE_CaptureTable =(
20, //u4StrobeTrigerBV
);
這一行, 這個值越大越容易打閃,越小越不容易打閃。