瑞芯微RK3588S Android12 REE 指纹代码移植(1)--Kernel移植

一,概述

 RK3588S Android12  SDK源码中kernel 版本为kernel-5.10,使用的是gf3626指纹模组。使用ree 进行spi 通讯。
 指纹模组供电电压3.3V,  SPI通讯电压1.8V,  最高通讯速率24M。
 以此记录移植过程。

二,移植代码到kernel中

1,在kernel-5.10/drivers/input 中建立一个文件夹方入指纹代码。

digipro@P510:~/RK3588S/android12-rkr14.1-rk3588/kernel-5.10/drivers/input$ mkdir  gf3626    
digipro@P510:~/RK3588S/android12-rkr14.1-rk3588/kernel-5.10/drivers/input$ ls
gameport     keyboard   misc       sensors        tablet     gf3626   joystick 
Makefile     remotectl  serio      touchscreen    Kconfig    mouse    rmi4

2,修改当前目录的Makefile, 把gf3626 文件夹加入编译

digipro@P510:~/RK3588S/android12-rkr14.1-rk3588/kernel-5.10/drivers/input$ vim Makefile

 obj-y                           += gf3626/

3, 进入gf3626 驱动文件夹编写Makefile, 将驱动文件加入编译。

digipro@P510:~/RK3588S/android12-rkr14.1-rk3588/kernel-5.10/drivers/input/gf3626$ ls

gf_common.c  gf_common.h  gf_common.o  gf_platform.c  gf_spi_access.c  gf_spi_access.h    Kconfig  Makefile  

digipro@P510:~/RK3588S/android12-rkr14.1-rk3588/kernel-5.10/drivers/input/gf3626$vim Makefile

obj-y    += gf_common.o gf_spi_access.o gf_platform.o

4,在DTSI中添设置spi 设备对应的管脚 以及 中断 和 复位脚的设定。

从开发板外接是GPIO脚看,只有SPI0_M2可用,DTSI 添加内容如下,compatible 需要与kernel 里面的compatible 相同, 不然无法加载probe。 电源使用3.3V长供电,因此暂时不用测试电源脚。

digipro@P510:~/RK3588S/android12-rkr14.1-rk3588$ vim kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588s-lubancat-4.dtsi

&spi0 {
   
   
        status = "okay";
        #address-cells = <1>;
        #size-cells = <0>;
        pinctrl-names = "default";
        pinctrl-0 = <&spi0m2_cs0  &spi0m2_pins>;    //设定SPI 相关引脚
        num-cs = <1>;

        goodix_fp@0 {
   
   
                compatible = "rockchip,fingerprint";
                reg = <0>; //chip select 0:cs0  1:cs1
                spi-max-frequency = <24000000>; //spi output clock

                interrupt-parent = <&gpio3>;
                interrupts = <RK_PD4 IRQ_TYPE_EDGE_FALLING>;
                irq-gpios = <&gpio3 RK_PD4 IRQ_TYPE_EDGE_FALLING>;

                reset-gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>;
        };
};

5,修改kernel 的 compatible 以及 中断 和 复位脚的名字 与 DTSI 一致

//compatible   
 static const struct of_device_id gf_of_match[] = {
   
   
        {
   
    .compatible = "rockchip,fingerprint", },
        {
   
   },
};
/*INT REST pins reference.*/
int gf_get_gpio_dts_info(struct gf_device 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值