采用
iomux
的方法
1. 现采用 CSI_DATA01
用作
GPIO
。
2. 首先在
arch/arm/boot/dts/imx6ul-pinfunc.h
查找
![](https://img-blog.csdnimg.cn/20210812112055376.png)
具体参数不再说明,查看 IMX6ULRM.pdf 手册中对应寄存器。
3.在设备树中 iomux 中添加复用 gpio 引脚如下:
同时修改设备树文件中,出厂的源码中将 csi 引脚用作摄像头。将复用功能去掉或者 disabled。如下图:
其中 csi 引脚也可复用为 sim2.也将其改为 disabled。
编译设备树。替换设备树,并重新烧写。
创建dev/gpio节点
1. 在设备树文件中添加设备节点定义以及其引脚定义:
并将其他复用引脚对应的功能
disabed
,保证这些引脚没被重复定义使用。引脚的
pinmux
可以查看
imx6ul-pinfunc.h
文件。
2.
driver/misc/gpio
目录下添加
gpio
驱动
gpio-user.c
,名字需要与节点定义里的驱动名字保相同,客户
也可以自己写驱动。同时添加
Kconfig
和
Makefile
文件。
修改
driver/misc
下
Kconfig
和
Makefile
文件:
在
driver/misc/Makefile
中添加:
obj-y
+= gpio/
编辑
driver/misc/Kconfig
,
添加一行:
source "drivers/misc/gpio/Kconfig"
,如图:
在根目录下修改
linux_imx6ul_config
文件,添加:
CONFIG_GPIO_USER_INTF=y
然后编译内核即可