本文只介绍驱动移植的过程,不做技术分析。
一、驱动编译通过,验证正常运行。
先在公司把手上的驱动顺利编译通过,验证正常。不要去到客户现场再出现一堆编译不过的问题。
二、移植dts
驱动会去读取dts的配置内容,如:中断管脚、复位管脚等信息,所以要先配置dts。
添加文件 kernel/msm-3.18/arch/arm64/boot/dts/qcom/msm8953-chipsailing.dtsi
这个文件主要配置 复位管脚、中断管脚、spi管脚。主要如下:
&soc {
chipsailing_fp {
compatible = "chipsailing,fingerprint";
spi-max-frequency = <1000000>;
input-device-name = "cs3511";
interrupt-parent = <&tlmm>;
interrupts = <48 0x0>;
chipsailing,gpio_rst = <&tlmm 140 0>;
chipsailing,gpio_irq = <&tlmm 48 0>;
clock-names = "iface_clk", "core_clk";
clocks = <&clock_gcc clk_gcc_blsp2_ahb_clk>,
<&clock_gcc clk_gcc_blsp2_qup3_spi_apps_clk>;
pinctrl-names = "chipsailing_spi_active",
"fingerprint_reset_active",
"fingerprint_reset_suspend",
"fingerprint_irq";
pinctrl-0 = <&chipsailing_spi_active>;
pinctrl-1 = <&fps_reset_high>;
pinctrl-2 = <&fps_reset_low>;
pinctrl-3 =