1.mtk指纹移植

1.      硬件连接

看原理图可知,指纹芯片有六个只要功能引脚,POWER, RST, MI, MO,CLK, EINT,再dws中将spi的四个引脚和中断脚配置好,mt6753只有一组spi即spi0,65-68脚。

2.软件代码

(1)    拿到代码后将代码放在Z:\heqian\53_m_base\alps\kernel-3.18\drivers\input\fingerprint文件夹,如果没有此文件夹,新建fingerprint,并解决编译中出现的各种错误

这里出现了几个错误,都是头文件引用找不到的问题,再makefile中将索要包含的头文件目录指定一下就可以解决

ccflags-y +=-I$(srctree)/drivers/spi/mediatek/$(MTK_PLATFORM)

ccflags-y +=-I$(srctree)/drivers/misc/mediatek/include

ccflags-y +=-I$(srctree)/drivers/misc/mediatek/include/mt-plat

ccflags-y+=-I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include

ccflags-y+=-I$(srctree)/drivers/misc/mediatek/mach/mt6735/magc6753_65u_1_m0/dct/dct/

ccflags-y += -I$(srctree)/drivers/spi/mediatek/mt6735/

ccflags-y += -DMT6735

其他头文件未包含错误,可通过搜索将函数所在的.h文件找到并在C文件中include

将驱动中的spi总线号写为0,否则无法加载spi驱动

(2)    将库文件替换Z:\heqian\53_m_base\alps\out\target\product\magc6753_65u_1_m0\system\lib64\hw\fingerprint.default.so

在.fc_spi.c中将char* uevent_env_str[2] = {"FC909_STATE=WAKEUP", NULL};

改为char* uevent_env_str[2] = {"FC909_STATE=WAKEUP", NULL};

因为库里面写的节点是jmt101,指纹模块启动后会通过库去度这个字段,匹配之后才能开始采集数据

 

(3)在Z:\heqian\53_m_base\alps\device\mediatek\mt6735\device.mk中加入PRODUCT_PACKAGES +=fingerprintd

可自动编译至system/bin目录下

 

(4)解决完编译问题后配置dts和dtsi文件,由于mt6753只有一组spi0,所以dtsi文件里面我们最多只能配一组,通过查看代码后发现,spi0平台驱动挂载会在指纹驱动初始化的时候自动加载, dts里每一个&后面的节点再dtsi里面都要对应定义

 

/* fingerprint start */

&fc909{

   debounce = <86 0>;

   pinctrl-names="finger_rst_low","finger_rst_high","default";

   pinctrl-0 = <&finger_rst_low>;

   pinctrl-1 = <&finger_rst_high>;

 

   pinctrl-2 = <&finger_pins_default>;

   status = "okay";

};

&pio {

   finger_rst_low: finger_rst_low@

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值