您尚未登录。

楼主 #1 2019-03-13 18:04:50

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

参考链接: https://whycan.cn/t_2227.html

修改的是这个文件: drivers/pinctrl/sunxi/pinctrl-sun8i-v3s.c

添加:

        SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 12),
                  SUNXI_FUNCTION(0x0, "gpio_in"),
                  SUNXI_FUNCTION(0x1, "gpio_out"),
                  SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 12)),  /* PB_EINT12 */



        SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 13),
                  SUNXI_FUNCTION(0x0, "gpio_in"),
                  SUNXI_FUNCTION(0x1, "gpio_out"),
                  SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 13)),  /* PB_EINT13 */

重烧 zImage 之后, 执行出错:

# echo 44 > /sys/class/gpio/export;
sh: write error: Device or resource busy





离线

#2 2019-03-13 19:36:50

acro
会员
注册时间: 2019-03-12
已发帖子: 1
积分: 1

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

估计有驱动占用了或是44不是正确的对应值

离线

楼主 #3 2019-03-13 19:58:11

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

acro 说:

估计有驱动占用了或是44不是正确的对应值

应该没有被占用,因为这个口v3s都没有使用。

44 刚好是 PB12,
其他的PB0/1/2等都没有问题





离线

楼主 #4 2019-03-13 22:28:03

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

echo 44 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio44/direction
echo 1 > /sys/class/gpio/gpio44/value    ### PB12 输出高电平
echo 0 > /sys/class/gpio/gpio44/value    ### PB12 输出低电平

换了一台电脑,重新按一楼修改,编译烧录,测试完全正常了.





离线

#5 2020-11-24 00:08:49

大帅
会员
注册时间: 2019-01-17
已发帖子: 167
积分: 131.5

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

这么神奇!!!
我也遇到同样的问题了,在f1c600有两路pwm,PA2和PE6, PA2始终是错误,PE6正常:
root@TinaLinux:/# echo 0 > sys/class/pwm/pwmchip0/export
sh: write error: Resource busy
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# echo 1 > sys/class/pwm/pwmchip0/export
root@TinaLinux:/#
同样的配置和驱动,在dts和sys_config.fex里面检查了很多次,配置没有冲突了,另外pwm的驱动移植到内核4.15跑起来两路pwm都正常,降低一下tina版本编译出来在c600上面跑两路也正常,
奇怪了,为什么在当前的tina3.5下面不行呢???

离线

#6 2020-11-24 09:31:18

JasonWoo
会员
注册时间: 2019-06-04
已发帖子: 84
积分: 55.5

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

可以写个模块,在模块里先释放这个pin,然后重新申请一遍。或者在kernel里加点printk定位下问题呗。

大帅 说:

这么神奇!!!
我也遇到同样的问题了,在f1c600有两路pwm,PA2和PE6, PA2始终是错误,PE6正常:
root@TinaLinux:/# echo 0 > sys/class/pwm/pwmchip0/export
sh: write error: Resource busy
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# echo 1 > sys/class/pwm/pwmchip0/export
root@TinaLinux:/#
同样的配置和驱动,在dts和sys_config.fex里面检查了很多次,配置没有冲突了,另外pwm的驱动移植到内核4.15跑起来两路pwm都正常,降低一下tina版本编译出来在c600上面跑两路也正常,
奇怪了,为什么在当前的tina3.5下面不行呢???

离线

#7 2020-11-24 09:42:09

大帅
会员
注册时间: 2019-01-17
已发帖子: 167
积分: 131.5

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

大帅 说:

这么神奇!!!
我也遇到同样的问题了,在f1c600有两路pwm,PA2和PE6, PA2始终是错误,PE6正常:
root@TinaLinux:/# echo 0 > sys/class/pwm/pwmchip0/export
sh: write error: Resource busy
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# echo 1 > sys/class/pwm/pwmchip0/export
root@TinaLinux:/#
同样的配置和驱动,在dts和sys_config.fex里面检查了很多次,配置没有冲突了,另外pwm的驱动移植到内核4.15跑起来两路pwm都正常,降低一下tina版本编译出来在c600上面跑两路也正常,
奇怪了,为什么在当前的tina3.5下面不行呢???


root@TinaLinux:/# echo 0 > sys/class/pwm/pwmchip0/export
root@TinaLinux:/#
睡了一觉,解决了。

离线

#8 2020-11-24 09:46:36

大帅
会员
注册时间: 2019-01-17
已发帖子: 167
积分: 131.5

Re: 在小智S3开发板上添加两个GPIO PB12/PB13 (Linux4.13), 但是却失败, 大家帮我找下问题

JasonWoo 说:

可以写个模块,在模块里先释放这个pin,然后重新申请一遍。或者在kernel里加点printk定位下问题呗。

大帅 说:

这么神奇!!!
我也遇到同样的问题了,在f1c600有两路pwm,PA2和PE6, PA2始终是错误,PE6正常:
root@TinaLinux:/# echo 0 > sys/class/pwm/pwmchip0/export
sh: write error: Resource busy
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# echo 1 > sys/class/pwm/pwmchip0/export
root@TinaLinux:/#
同样的配置和驱动,在dts和sys_config.fex里面检查了很多次,配置没有冲突了,另外pwm的驱动移植到内核4.15跑起来两路pwm都正常,降低一下tina版本编译出来在c600上面跑两路也正常,
奇怪了,为什么在当前的tina3.5下面不行呢???


root@TinaLinux:/# cat tmp/pwm
platform/1c21000.pwm, 2 PWM devices
pwm-0   (lcd                 ): requested enabled
pwm-1   ((null)              ):

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn