參考 chipsailing_mtk_6.0_2.0_移植包 裡面的文件
一、將mtk_6.0_2.0_移植包\kernel-3.18\drivers\input\chipsailing的驅動檔案
拷貝到kernel-3.18\drivers\input \目錄下(具體的存放路徑可以自定義);
並修改驅動的資料夾所在的makefile檔案,
在其中加入:obj-y += chipsailing/ ;
使得編譯能編譯到驅動**;
二、參考mtk_6.0_2.0_移植包\kernel-3.18\arch\arm\boot\dt\len6735_66_m0.dts檔案,
在除錯實際的專案.dts檔案中新增如下的內容:請注意加入內容的位置,不然會編譯錯誤。
以下的步驟都可以通過搜尋「chipsailing」關鍵字搜尋到所需要新增的內容。
每一段內容都是以「add by chipsailing start」開頭,以」 add by chipsailing end」為結束,
即所需加入的**。
1.將mtk_6.0_2.0_移植包\kernel-3.18\arch\arm\boot\dt\len6735_66_m0.dts檔案的第8行到第18行的如下**加到 具體實際專案的.dts檔案中根節點 」/;
// add by chipsailing end
這些內容是gpio的一些初始化配置。
3. 將mtk_6.0_2.0_移植包kernel-3.18\arch\arm\boot\dt\len6735_66_m0.dts檔案的第173行到第318行的如下**加到 具體實際專案的.dts檔案中,注意它的位置跟其他的&pio是並行的。
/* add by chipsailing start gpio standardization */
&pio ;
};cs_finger_pwr_on: cs_finger_pwr_on ;
};cs_finger_pins_default:cs_finger_pins_default;
pins_cmd2_dat ;
pins_cmd3_dat ;
pins_cmd4_dat ;
};cs_finger_reset_en0:cs_finger_reset_en@0;
};cs_finger_reset_en1:cs_finger_reset_en@1;
};cs_finger_spi0_mi_as_spi0_mi:cs_finger_spi0_mi_as_spi0_mi@0;
};cs_finger_spi0_mi_as_gpio:cs_finger_spi0_mi_as_gpio@0;
};cs_finger_spi0_mo_as_spi0_mo:cs_finger_spi0_mo_as_spi0_mo@0;
};cs_finger_spi0_mo_as_gpio:cs_finger_spi0_mo_as_gpio@0;
};cs_finger_spi0_clk_as_spi0_clk:cs_finger_spi0_clk_as_spi0_clk@0;
};cs_finger_spi0_clk_as_gpio:cs_finger_spi0_clk_as_gpio@0;
};cs_finger_spi0_cs_as_spi0_cs:cs_finger_spi0_cs_as_spi0_cs@0;
};cs_finger_spi0_cs_as_gpio:cs_finger_spi0_cs_as_gpio@0;
};cs_finger_int_as_int: cs_finger_int_as_int@0;
};cs_finger_eint_pull_down: cs_finger_eint_pull_down ;
}; cs_finger_eint_pull_disable: cs_finger_eint_pull_disable ;
}; }; /*******************add by chipsailing end****************/
三、新增許可權
1.新增字元節點許可權:
參考mtk_6.0_2.0_移植包\device\lentek\len6735_66_m0\init.project.rc檔案,在實際除錯的專案檔案
device\lentek\len6737m_35_m0\init.project.rc中新增節點許可權:
注意: 加在on init 之前
#[chipsailing fingerprint begin]
# fingerprint
chown system system /dev/cs_spi
chmod 0777 /dev/cs_spi
#[chipsailing fingerprint end]
2.參考mtk_6.0_2.0_移植包\device\mediatek\common\sepolicy\目錄下面的檔案,對應在實際除錯的專案對應的檔案
device\mediatek\common\sepolicy中新增內容,新增的內容一一如下:
注意: 加在末尾
1.device.te檔案新增:
# for chipsailing fingerprint
type csfinger_device, dev_type;
2. file_contexts檔案新增:
#for chipsailing fp
/dev/cs_spi u:object_r:csfinger_device:s0
3. fingerprintd.te檔案:
直接把此檔案複製到\device\mediatek\common\sepolicy\目錄下面(路徑以實際為準)。
#for chipsailing fp
5. system_server.te檔案新增:
#for chipsailing fp
allow system_server csfinger_device:file rw_file_perms;
allow system_server csfinger_device:chr_file;
# for chipsailing fp
3.參考mtk_6.0_2.0_移植包\system\core\rootdir\init.rc, 對應在實際除錯的專案對應的檔案
system\core\rootdir\init.rc中新增內容,新增的內容一一如下:
注意: 加在末尾
# add by chipsailing start
service fingerprintd /system/bin/fingerprintd
class late_start
user system
# add by chipsailing end
這是新增指紋服務啟動的**
四、系統適配部分:
1.新增so庫
參考mtk_6.0_2.0_移植包\vendor\cs_fp_so\,把cs_finger_so資料夾複製到客戶vendor目錄下,
cs_fp_so資料夾下面有32位和64位的庫,根據系統的實際位數選擇庫,複製之後,
參考mtk_6.0_2.0_移植包\device\mediatek\mt6735\device.mk檔案,在實際除錯的專案的device.mk檔案
device\mediatek\mt6735\device.mk中新增:
注意: 加在末尾
# add by cipsailing start
product_packages += fingerprintd
product_copy_files+= vendor/cs_fp_so/32bit/fingerprint.default.so:system/lib/hw/fingerprint.default.so
product_copy_files += vendor/cs_fp_so/32bit/libcsalgdll.so:system/lib/libcsalgdll.so
# add by cipsailing end
說明:1.libcsalgdll.so是演算法庫;
as608指紋模組的原理 AS608指紋模組
as608 指紋識別模組主要是指採用了杭州晟元晶元技術 synochip 的 as608 指紋識別晶元 而做成的指紋模組,模組廠商只是基於該晶元設計外圍電路,整合乙個可供2次開發的指紋模組 所以,只要是基於as608晶元的指紋模組,其控制電路及控制協議幾乎是一樣的,只是廠家和效能不同而已。vi 模組...
FT9338指紋移植筆記
一 驅動porting defconfig config mtk spi y dws配置 四個dct dct codegen.dws 新增自定義變數名,以便dws可以選擇 dct eint yusu.cmp dct gpio yusu.cmp 驅動除錯 驅動定義好相關引腳 define gpio f...
as608指紋模組的原理 指紋頭知識乾貨來啦!
指紋模組是指紋鎖的核心部件,安裝在如 指紋門禁或者硬碟等器件上,用來完成指紋的採集和指紋的識別的模組。現在市面上常見的指紋鎖產品指紋頭是光學指紋頭和半導體指紋頭。其優缺點各有千秋。光學指紋模組 優勢 環境適應性較強 光學指紋頭採集窗一般採用鋼化玻璃,能夠一定程度的抗壓抗磨,耐酸鹼 汙漬的腐蝕。對工作...