参考链接: 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
离线
估计有驱动占用了或是44不是正确的对应值
离线
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 输出低电平
换了一台电脑,重新按一楼修改,编译烧录,测试完全正常了.
离线
这么神奇!!!
我也遇到同样的问题了,在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下面不行呢???
离线
可以写个模块,在模块里先释放这个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下面不行呢???
离线
这么神奇!!!
我也遇到同样的问题了,在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:/#
睡了一觉,解决了。
离线
可以写个模块,在模块里先释放这个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) ):
离线