迅为i.MX6ULL开发板Linux 设备树实现i2c

本文介绍了如何使用设备树来配置I2C设备,以添加FT5X06触摸芯片到I2C-2总线为例,详细解析了设备树中的各个节点和属性设置。同时提到,虽然现在多采用设备树,但理解传统的非设备树方式仍有其必要性,尤其是对于使用旧内核版本的系统。
摘要由CSDN通过智能技术生成

在使用了设备树以后,就不用这么复杂了,使用设备树的时候只要在对应的 I2C 节点下创建相应设备的

节点即可,比如我想添加一个触摸芯片 FT5X06 的设备,我就可以在对应的 I2C 的节点下这样写,如下所示:

注意:迅为 10.1 寸屏幕的触摸芯片是 gt911,4.3 寸触摸芯片是 tsc2007,其它都是 ft5426 芯片。

&i2c2

{

clock_frequency = <100000>;

pinctrl-names = "default";

pinctrl-0 = <&pinctrl_i2c2>;

status="okay";

edt-ft5x06 @38

{

compatible = "edt,edt-ft5306", "edt,edt-ft5x06", "edt,edt-ft5406";

pinctrl-names = "default";

pinctrl-0 = <&ts_int_pin& ts_reset_pin>;

reg = <0x38>;

interrupt-parent = <&gpio1>;

interrupts = <9 0>;

reset-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;

irq-gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;

status = "okay";

};

}

第 6 行更改 status 为“okay”,使能 i2c-2 总线;

第 8 行触摸屏所使用的 FT5x06 芯片节点,挂载 I2C-2 节点下;“@”后面的“38”就是

edt-ft5x06 的 I2C 器件地址

第 10 行 compatible 用于和驱动程序的 compatible 匹配;

第 12 行 pinctrl-0 属性描述 FT5426 的复位 IO 和中断 IO 所使用的节点为

&ts_int_pin& ts_reset_pin

第 13 行 reg 属性描述 ft5x 的器件地址为 0x38;

第 14 行 interrupt-parent 属性描述中断 IO 对应的 GPIO 组为 GPIO1;

第 15 行 interrupts 属性描述中断 IO 对应的是 GPIO1 组的 9 号引脚和 0 号引脚;

第 16 行 reset-gpios 属性描述复位 IO 对应的 GPIO 为 GPIO5 9;

第 17 行 irq-gpios 属性描述中断 IO 对应的 GPIO 为 GPIO1 9。

因为我们的开发板默认是设备树的镜像, 我们进入到开发板的/sys/bus/i2c/devices/目录下,因为通过

查找原理图发现我们屏幕使用的是 i2c2,所以进入到 1-0038,查看 name 为 edt-ft5306

接下来我们以非设备树的方式写一个 client.c,然后加载进去,然后看一下和我们使用设备树的效果是

不是一样的呢?有些同学可能会说,现在都是用设备树了,为什么还要用以前的方法呢?因为我们以前的

方法也是需要熟悉的,我们只有学会以前的方法,才能够更好的理解现在的这种设备树的方法,而且有些

老的版本还是使用低版本的内核,比如说 kernel3.0。

更多内容:关注北京迅为

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值