嵌入式爱好者

通过驱动的方式复用gpio后电平不正常

2023-12-18 10:10| 发布者: DDD12138| 查看: 101| 评论: 0

类目: I.MX6系列产品  >  Linux     文档编号: 1234

问题背景:

客户在6UL上使用34路输入输出,其中有一路引脚的默认电平不正常,客户设置的引脚电器属性是0x17059 这个值配置的是内部上拉但是用万用表去测量发现始终是低电平,并且客户也做了外部上拉。

现象复刻

复用GPIO包括两种方式:gpio驱动或是shell,客户用的是前者。在设备树复用的节点如下

gpios {

             pinctrl-names = "default";

             pinctrl-0 = <&pinctrl_user>;

             compatible = "gpio-user";

             gpios0{

                    label = "DO1_LED1";

                    gpios = <&gpio1 2 1>;

                    default-direction = "out";

             };

             gpios1{

                    label = "DO2_LED2";

                    gpios = <&gpio1 1 1>;

                    default-direction = "out";

             };

              ..............

gpios33{

                    label = "YX11";

                    gpios = <&gpio3 3 1>;

                    default-direction = "in";

             };

             gpios34{

                    label = "YX10";

                    gpios = <&gpio3 2 1>;

                    default-direction = "in";

             };

将设备树编译后放到飞凌的板子也是如客户所说。

解决方法

找到compatible匹配的驱动为gpio-user,路径:drivers/gpio/gpio-user.c

这个驱动中定义了节点中最大的GPIO数,修改即可

 


已解决

未解决

只是看看

最新评论

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

GMT+8, 2024-11-22 10:57

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部