GPIO复用引脚的释放及gpio-leds的注册

一:根据mt7620 datasheet中GPIO pin share schemes和WRTnode gpio引脚特征,可以用来自定义的gpio引脚如以下标注所示:

GPIO pin share schemes

GPIO1.png

GPIO2.png

注:红色框里的是结合WRTnode的接口参数得到的可以释放的gpio复用引脚。



二:mt7620n.dtsi里对gpio的注册

我们假定$(TOPDIR)为OpenWrt的编译目录。

在$(TOPDIR)/target/linux/ramips/dts/mt7620n.dtsi里有对gpio的注册

注:结合mt7620的datasheet里GPIO pin share schemes以及在mt7620n.dtsi里我们看到有,将GPIO#0到GPIO#72(中间有仅仅做GPO或GPI的)分为四组GPIO0-GPIO3;

对应GPIO0是从GPIO#0开始到GPIO#23,一共有24个;对应GPIO1是从GPIO#24开始到GPIO#39,一共有16个;对应GPIO2是从GPIO#40开始到GPIO#71,一共有32个;

对应GPIO4对应的是GPIO#72,仅有一个。

Usergpio1.png

GPIO3.png

GPIO4.png




三:在WRTNODE.dts里对led、keys等的注册

在$(TOPDIR)/target/linux/ramips/dts/WRTNODE.dts里可以来注册通过gpio接口控制的设备,如led、keys等

如果想用GPIO接口首先要使能GPIO并且释放gpio引脚复用功能:

使能GPIO:

GPIO5.png

释放gpio引脚复用功能:

GPIO6.png

引脚复用的定义在$(TOPDIR)/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620n/linux-3.10.28/arch/mips/ralink/mt7620.c

注:路径不一定为这个,根据你自己的内核版本,linux-3.10.xx

GPIO7.png

同理,其他复用引脚的定义一样。

GPIO8.png

下面就来看如何在WRTNODE.dts里注册具体的gpio设备(led,key等等),注册的方法可以参照 $(TOPDIR)/target/linux/ramips/dts/RT-N14U.dts

注:dts里对设备的注册很简单,如gpio-leds的注册,compatible要与Led的驱动leds-gpio.c里compatible对应,label是设备的名字,设备注册成功,在WRTnode文件系统下就会有 /sys/class/leds/wrtnode:blue:wan , 我们可以通过

echo 1 > /sys/class/leds/wrtnode\:blue\:wan/brightness
echo 0 > /sys/class/leds/wrtnode\:blue\:wan/brightness  来控制亮灭

gpios = <&gpio2 0 1>,这是指定对应的gpio引脚(GPIO#40)

GPIO9.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值