T113 i2c gpio拓展芯片xl9555开发应用笔记
  1i0l01KBCSs3 2023年12月07日 36 0

T113 i2c gpio拓展芯片xl9555开发应用笔记_引脚

T113 i2c gpio拓展芯片xl9555开发应用笔记

参考资料

内核添加支持

设备树引用

应用调用


内核添加支持

xl9555可使用 pca9555驱动,在设备树使能pca9555节点,参考如下:

T113 i2c gpio拓展芯片xl9555开发应用笔记_参考资料_02

内核驱动:/kernel/drivers/gpio/gpio-pca953x.c

make menuconfig配置编译 CONFIG_GPIO_PCA953X=y

或拷贝出来手动编译成模块加载

注意这里的i2c地址由硬件A0-A2接线决定

T113 i2c gpio拓展芯片xl9555开发应用笔记_设备树_03

T113 i2c gpio拓展芯片xl9555开发应用笔记_参考资料_04

T113 i2c gpio拓展芯片xl9555开发应用笔记_设备树_05

设备树引用

例如把XL9555_IO P07,P11扩展成LED灯,在设备树中可做如下引用。

T113 i2c gpio拓展芯片xl9555开发应用笔记_参考资料_06

注意xl9555没有P08,P09,因此P10对应gpio_ext 8 ,P11对应gpio_ext 9 ,以此列推。

P0-- gpio_ext 0

P1-- gpio_ext 1

P2-- gpio_ext 2

P3-- gpio_ext 3

P4-- gpio_ext 4

P5-- gpio_ext 5

P6-- gpio_ext 6

P7-- gpio_ext 7

P10-- gpio_ext 8

P11-- gpio_ext 9

P12-- gpio_ext 10

系统启动后可使用标准控制LED方法控制

控制高低

echo 1 > /sys/class/leds/led1/brightness

echo 1 > /sys/class/leds/led2/brightness

闪烁

echo timer > /sys/class/leds/led1/trigger

echo timer > /sys/class/leds/led2/trigger


应用调用

在 /sys/class/gpio 目录下生成1组新的引脚gpiochip400

root@/ # ls /sys/class/gpio

export gpio402 gpio403 gpiochip0 gpiochip400 unexport

此时可像操作soc内部引脚的方法控制具体的GPIO

注意这里的xl9555的 Pn对应 GPIO的 400+n

xl9555没有P08,P09,因此P10对应gpio_ext 8 ,P11对应gpio_ext 9 ,以此列推。

例如控制XL9555_IO的 P07,P11

可用如下指令

P07 400+7=407

echo 407 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio407/direction

echo 1 > /sys/class/gpio/gpio407/value

P11 400+11-2=409

echo 409 > /sys/class/gpio/export

echo out > /sys/class/gpio/gpio409/direction

echo 1 > /sys/class/gpio/gpio409/value

-END-

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月07日 0

暂无评论

推荐阅读
1i0l01KBCSs3