TQIMAX6q调试笔记三:EETI的egalax-i2c触摸屏移植

来源:互联网 发布:牛顿环实验测量数据 编辑:程序博客网 时间:2024/05/19 03:46

一:修改设备树:

1.路径:kernel_imx\arch\arm\boot\dts\imx6qdl.dtsi

2.添加如下代码:

i2c1: i2c@021a0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx6q-i2c", "fsl,imx21-i2c";
reg = <0x021a0000 0x4000>;
interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6QDL_CLK_I2C1>;
status = "disabled";

egalax_i2c@2a {/*定义设备树头*/
#address-cells = <1>;
#size-cells = <0>;
compatible = "eeti,egalax_i2c";/*定义设备名称,对应于egalax_i2c.c中设备名称*/
reg = <0x2a>; /* 定义i2c重地址 */
interrupt-parent = <&gpio1>;        /*定义中断GPIO*/
interrupts = <9 2>;/*定义中断端口为gpio1的第9个io,中断类型为2*/
int-gpios = <&gpio1 9 0>;       /*定义gpio1的第9个io为中断控制,也可以用作唤醒功能,0即低电平是唤醒 */
};

二:添加驱动程序:

1.路径:kernel_imx\drivers\input\touchscreen\kernel_imx\drivers\input\touchscreen

egalax_i2c.c由原厂提供

2.修改Kconfig,添加如下:

config TOUCHSCREEN_EGALAX

tristate "EGALAX based touchscreens"
depends on I2C
help
 Say Y here if you have a EGALAX based touchscreen
 controller.

 If unsure, say N.

 To compile this driver as a module, choose M here: the
 module will be called egalax_i2c_ts.

3.修改Makefile,添加如下:

obj-$(CONFIG_TOUCHSCREEN_EGALAX) += egalax_i2c.o

4.修改配置单:

将Device Drivers > Input device support > Touchscreens->EGALAX based touchscreens设置成<*>。

原创粉丝点击