这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 软件与操作系统 » 迅为i.MX6ULL开发板Linux设备树实现i2c

共7条 1/1 1 跳转至

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

菜鸟
2022-07-11 11:08:08     打赏

在使用了设备树以后,就不用这么复杂了,使用设备树的时候只要在对应的 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。

更多内容:关注北京迅为





专家
2022-07-11 11:14:52     打赏
2楼

谢谢分享


专家
2022-07-12 06:34:38     打赏
3楼

谢谢分享


专家
2022-07-12 06:35:21     打赏
4楼

谢谢分享


工程师
2022-07-14 23:55:02     打赏
5楼

感谢您的分享


专家
2022-07-15 00:09:39     打赏
6楼

谢谢分享


高工
2022-07-15 00:09:47     打赏
7楼

有意义啊


共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]