GPIO
文档参考
Linux_GPIO_开发指南.pdfDTS
Android SDK
longan/device/config/chips/a133/configs/c3/kickpi-k5.dts
longan/device/config/chips/a133/configs/c3/kickpi-k5c.dtsLinux SDK
device/config/chips/a133/configs/c3/kickpi-k5.dts
device/config/chips/a133/configs/c3/kickpi-k5c.dtssunxi-gpio.h (4.9)
include/linux/sunxi-gpio.hdts gpios 配置解析
gpios = <&pio PH 0x8 0x0 0x1 0x0 0x1>;
gpios = <&r_pio PL 0x4 0x0 0x1 0x0 0x1>;
gpios = <&A B C D E F G>;
&A&pio/&r_pio 指定 pio,属于 cpus 要用 &r_pio (PL之后的)
BPH/PL 指定 gpio 的 bank
C0x8/0x4 指定 bank 中的哪个引脚
D复用类型
E上下拉,值为 0x1 时采用默认值
F驱动能力,值为 0x0 时采用默认值
G输出电平,只用 output 才有效
PIN 控制
sys gpio控制
当存在将拓展引脚配置为输入的需求,默认软件的gpio-led不能满足需求。需要将GPIO释放出来,通过/sys/class/gpio进行控制。
步骤一
先将对应GPIO引脚注释,/sys/class/gpio/export 只能导入未注册的 gpio
比如PH8,如需其他引脚,一样在 leds 结点下注释即可 , 下面内容都以PH8 做举例
步骤二
编译镜像,重新烧录
步骤三
确认gpio未被注册
能够看到PH8未被使用,且对应 pin 值为 232
步骤四
通过 /sys/class/gpio/export 注册 PH8 并进行控制
通过结点下的内容控制 gpio , 常用如下
sunxi gpio debug 控制
查看 pin 的配置
配置 pin 为 gpio 模式
修改 pin 的上拉属性
查看修改情况
查看 pin 电平
注意:
切换 pio
切换 r_pio (当操作PL及之后的pin , 需要切换 r_pio 的设备, 否则操作失败)
Last updated