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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指纹调试 mtk(MT6763)- android8.1

發布時間:2023/12/31 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指纹调试 mtk(MT6763)- android8.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一 指紋調試思路,總綱

二 硬件原理圖

???

三 如何確認是否移植好finger驅動?

??????a)probe函數調試的初始化是否成功,打印信息確認

??????b)查看設備節點是否生成

? ? ? ? /dev/sunwave_fp
?????

? ? ?c)SPI通信是否成功,

???????????1)確認?pin腳初始化是否正確,是否被占用,cs,clk,rst,miso,mosi,eint等,android8.1對應的gpio路徑:

?????????????cat??/sys/bus/platform/drivers/mediatek-pinctrl/10005000.pinctrl/mt_gpio?????

????????2)檢查平臺的spi通道是否和硬件spi pin腳保持一致,spi-padmacro = <0>;

????spi0: spi@1100a000 {
????????compatible = "mediatek,mt6763-spi";
????????cell-index = <0>;
????????spi-padmacro = <0>;
????????dma_addrmask = <36>;
????????reg = <0 0x1100a000 0 0x1000>;
????????interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_LOW>;
????????clocks = <&infracfg_ao INFRACFG_AO_SPI0_CG>;
????????clock-names = "main";
????????clock-frequency = <109000000>;
????????clock-div = <1>;
????????};
??spi-padmacro設定參考平臺的table

code 匹配,spi初始化要確保調用成功,如下

static struct spi_board_info spi_board_devs[] __initdata = {
? ? [0] = {
? ? ? ? .modalias = "sunwave-fp",
? ? ? ? .bus_num = 0,
? ? ? ? .chip_select = 0,
? ? ? ? .mode = SPI_MODE_0,
? ? },
};
3) 首先讀取ic的chip id,與ic廠溝通,需要讀取哪些id 寄存器,在probe加入對應的打印信息,如果能夠正常讀取到, 說明 DTS 配置及 SPI通迅是正常的(中斷 PIN 暫時不能確定)。其次,也可以將miso mosi短接,測試SPI自發自收通信是否成功,

?????SPI自發自收平臺測試如下,

Control virtual spi device which register?on platform to send message with slave device.

adb shell

cd?/sys/bus/spi/drivers/test_spi/spix.1------x confirm?by?you Pin design.For example:Use SPI1_CLK_B?pin(MT6797),it is spi1.1.????

echo -w com_mod=1 > spi------------config dma mode(0----fifi mode,1----dma mode)

?echo -w len=8??> spi_msg-------send 8byte data,default date is 0x12345678.If use -w cmd,len value must multiple of four,for example:8,It will circulation send 0x12345678。

If pin miso and mosi is disconnect or connect but send fail,you will find next log.

If send success,you won't found.Then you can test hardware signal use oscilloscope.

通信失敗的參考log如下,

當然,也可以自己寫一些spi通信測試的小程序,后續整理后會持續更新。

??????????若讀取異常可以判斷此時 SPI 不通,可以按照如下步驟去排查:
??????????1. 確認模組的供電是否正常;
??????????2. 檢查 SPI 的電平時序是否正常:
??????????3. 檢測miso mosi是否接反,可以用邏輯分析儀確認;
??????????4. 確認指紋單模組是否正常;

?????d)確認finger interrupt中斷是否注冊成功

?????????cat proc/interrupts

?????????

中斷設備節點綁定

finger_irq_node = of_find_compatible_node(NULL, NULL, "mediatek,fingerprint-eint");// "mediatek,sunwave_fp"
?
ctl_dev->irq_num = irq_of_parse_and_map(finger_irq_node, 0);
???

?如果沒有 1)軟件排查,查看irq注冊函數,綁定的設備名是否成功等

????????????????????2)硬件排查,用示波器等實測是否有模組硬件中斷

四 so庫合成與驗證

??????1)Android M/N 系統重啟 fingerprintd 進程,Android O 以上 系統重啟 android.hardware.biometrics.fingerprint@2.1-service 進程,可以在平臺code里面直接關閉selinux權限(比手動驗證更保險),也可以手動關閉setenforce 0,然后參考文檔把so庫push到對應的路徑,驗證指紋是否能正常啟動,正常錄取指紋。


?

?

2)手動驗證ok,那接下來的就是so庫的移植,以及selinux權限的問題。
?

總結

以上是生活随笔為你收集整理的指纹调试 mtk(MT6763)- android8.1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。