i.MX6ULL终结者Linux按键输入实验修改设备树文件

文章目录

1 添加Pinctrl节点

在i.MX6UL终结者开发板上按键KEY0使用了UART1_CTS引脚,打开topeet_emmc_4_3.dts文件,在 iomuxc 节点的 imx6ul-evk 子节点下创建一个名为“pinctrl_key”的子节点,节点内容如下所示:

1 pinctrl_key: keygrp { 
2 		fsl,pins = < 
3			 MX6UL_PAD_UART1_CTS_B__GPIO1_IO18 0xF080 	/* KEY0 */ 
4 		>; 
5 };

第3行,将UART1_CTS引脚复用为GPIO1_IO18。

2 添加KEY设备节点

topeet_emmc_4_3.dts文件下,在根节点“/”下添加按键KEY0的节点,内容如下:

1 key { 
2      #address-cells = <1>; 
3      #size-cells = <1>; 
4      compatible = "key"; 
5      pinctrl-names = "default"; 
6      pinctrl-0 = <&pinctrl_key>; 
7      key-gpio = <&gpio1 18 GPIO_ACTIVE_LOW>;  /* KEY0 */ 
8        status = "okay"; 
9 };

第 6 行,pinctrl-0 属性设置 KEY 所使用的 PIN 对应的 pinctrl 节点。
第 7 行,key-gpio 属性指定了KEY0所使用的 GPIO。
检查按键KEY0的UART1_CTS引脚有没有被其他设备使用,先检查UART1_CTS引脚在pinctrl节点下有没有重复申请,在检查“gpio1 18”有没有被其他设备引用。
设备树编写完成以后使用“make dtbs”命令重新编译设备树,然后使用新编译出来的 topeet_emmc_4_3.dtb 文件启动 Linux 系统。启动成功以后进入“/proc/device-tree”目录中查看“key”节点是否存在,如果存在的话就说明设备树基本修改成功(具体作用还要驱动验证),结果如图 2.1所示:
i.MX6ULL终结者Linux按键输入实验修改设备树文件

图 2.1

i.MX6ULL终结者Linux按键输入实验修改设备树文件

上一篇:gpio 子系统


下一篇:解决com.android.support版本冲突问题