1、确认GPIO模式:
配置SPI口的GPIO模式,先找到SPI所对应的GPIO口,比如:SPI3,需要将GPIO21~GPIO23配成mode1,详细说明查看:
《XY6761XY6762XY6765_GPIO_Formal_Application_Spec_V1.0.xlsx》
GPIO功能详情见下图1;
2、配置GPIO:
打开GPIO配置工具:
vendor\mediatek\proprietary\scripts\dct\DrvGen.exe
分别打开dws文件配置,路径如下:
lk dws: vendor\mediatek\proprietary\bootable\bootloader\lk\target\k65v1_64_bsp\dct\dct\codegen.dws kernel dws: kernel-4.9\drivers\misc\mediatek\dws\mt6765\k65v1_64_bsp.dws
DWS配置方法如下图所示:
3、配置源码:
打开SPIDEV功能,修改内核配置文件:
kernel-4.9\arch\arm64\configs\k65v1_64_bsp_defconfig
确认宏:
CONFIG_SPI_SPIDEV=y
添加dts配置:
kernel-4.9\arch\arm64\boot\dts\mediatek\k65v1_64_bsp.dts &spi3 { #address-cells = <1>; #size-cells = <0>;8 spi_dev@3 {10 compatible = "spidev";12 reg = <0>;14 spi-max-frequency = <12000000>;16 }; };
4、编译刷机:
rm -rf out/target/product/k65v1_64_bsp/obj/BOOTLOADER_OBJ/ rm -rf out/target/product/k65v1_64_bsp/obj/KERNEL_OBJ/ make -j24
5、调试:
刷机完成之后,并开机,连接usb,执行adb shell执行:
cat /sys/bus/platform/drivers/mediatek-mt6765-pinctrl/1000b000.pinctrl/mt_gpio
查看GPIO的属性是否OK,执行结果如附件图3;
ls /dev/spidev*
是否能看到节点,如果有节点则代表配置成功
更多资料可查看新移科技官网