GPIO口驱动问题

怎么驱动板子的GPIO口呢?有相关例程吗?

Parents
  • 可以使用Linux标准的gpio sys接口去控制

    GPIO47_2为例,计算 实际的gpio number:120 + 47 * 8 + 2 = 498

    (每个port对应8个pin)

    下面是将该pin配置 gpio out为高的例子:

    root@gx-qsb-rzg2l:~# cd /sys/class/gpio/ 
    root@gx-qsb-rzg2l:/sys/class/gpio# ls 
    export  gpiochip120  unexport 
    root@gx-qsb-rzg2l:/sys/class/gpio# echo 498 > export 
    root@gx-qsb-rzg2l:/sys/class/gpio# cd gpio498/ 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# ls 
    active_low  device  direction  edge  power  subsystem  uevent  value 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat direction 
    in 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# echo out > direction 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat value 
    0 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# echo 1  > value 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat value 
    1 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# 

    如果其他pin在export的报错,有可能是该pin被使用成其他功能。

    gpio和pinctrl驱动参考:

    drivers/pinctrl/sh-pfc/pfc-r9a07g044l.c

    drivers/pinctrl/sh-pfc/pinctrl-rzg2l.c

Reply
  • 可以使用Linux标准的gpio sys接口去控制

    GPIO47_2为例,计算 实际的gpio number:120 + 47 * 8 + 2 = 498

    (每个port对应8个pin)

    下面是将该pin配置 gpio out为高的例子:

    root@gx-qsb-rzg2l:~# cd /sys/class/gpio/ 
    root@gx-qsb-rzg2l:/sys/class/gpio# ls 
    export  gpiochip120  unexport 
    root@gx-qsb-rzg2l:/sys/class/gpio# echo 498 > export 
    root@gx-qsb-rzg2l:/sys/class/gpio# cd gpio498/ 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# ls 
    active_low  device  direction  edge  power  subsystem  uevent  value 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat direction 
    in 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# echo out > direction 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat value 
    0 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# echo 1  > value 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# cat value 
    1 
    root@gx-qsb-rzg2l:/sys/class/gpio/gpio498# 

    如果其他pin在export的报错,有可能是该pin被使用成其他功能。

    gpio和pinctrl驱动参考:

    drivers/pinctrl/sh-pfc/pfc-r9a07g044l.c

    drivers/pinctrl/sh-pfc/pinctrl-rzg2l.c

Children
No Data