嵌入式爱好者

嵌入式爱好者 门户 知识库 查看内容

6u系列gpio应用笔记分析,设置启机之后有默认输入输出

2024-2-27 09:23| 发布者: bpf1| 查看: 31| 评论: 0

类目:  >  知识库     文档编号: 1304

应用笔记中,iomux复用后还需要应用层操作才能设置gpio为输入输出,但第二种方法,可以设置在内核起来后直接为输入或输出,方法如应用笔记所示,输入的话将default-direction属性改为in,引脚复用参考芯片手册可以用0xb0。

1.在按照应用笔记添加完节点后,驱动gpio-user.c匹配好后执行probe函数。通过of_get_available_child_count获得设备树gpios节点下子节点的数量,不能超过设定的MAX_GPIO_NR值(超过的部分不会初始化),可以修改MAX_GPIO_NR值来增加gpios节点下子节点的最大数量。

2. 通过for_each_available_child_of_node函数进行循环,在循环中读取设备树节点中设置的labeldefault-directiondata->dft(默认电平)。循环时会根据设备树子节点先后顺序在结构体中设置对应gpio号,后面ioctl会用到。

3. 根据读取到的设备树属性在gpio_user_init_default()函数中初始化gpio

4.注册文件操作函数,重点为ioctl。应用通过ioctl传入要操作的gpio号,Ioctl中根据应用传进来的gpio号即val值操作gpio,如果是输入则读取gpio值,输出就根据传入的val标志位设置高低。


已解决

未解决

只是看看

最新评论

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-6-26 22:47

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部