WRTnode mt7620n的GPIO复用引脚的释放及gpio-leds的注册
来源:互联网 发布:怎么在手机淘宝看物流 编辑:程序博客网 时间:2024/06/14 08:53
一:根据mt7620 datasheet中GPIO pin share schemes和WRTnode gpio引脚特征,可以用来自定义的gpio引脚如以下标注所示:
GPIO pin share schemes
注:红色框里的是结合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,仅有一个。
三:在WRTNODE.dts里对led、keys等的注册
在$(TOPDIR)/target/linux/ramips/dts/WRTNODE.dts里可以来注册通过gpio接口控制的设备,如led、keys等
如果想用GPIO接口首先要使能GPIO并且释放gpio引脚复用功能:
使能GPIO:
释放gpio引脚复用功能:
引脚复用的定义在$(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
同理,其他复用引脚的定义一样。
下面就来看如何在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)
- WRTnode mt7620n的GPIO复用引脚的释放及gpio-leds的注册
- GPIO复用引脚的释放及gpio-leds的注册
- GPIO复用引脚的释放及gpio-leds的注册
- wrtnode(mt7620n) spi 使用gpio模拟
- STM32 JTAG的引脚用作GPIO引脚
- STM32复用的GPIO引脚配置方式
- 香蕉派和树莓派的不同点及GPIO引脚定义
- NanoPi 2 Fire的GPIO引脚图
- 树莓派下java对GPIO引脚的引用
- GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用
- 关于stm32中的GPIO引脚初始化的程序讲解及相关知识拓展介绍
- ARM学习笔记引脚连接模块和GPIO的学习
- 修改nrf52832的nfc天线引脚p09,p10为gpio
- 在contiki下使用CC1310的GPIO引脚
- 全志R58平台的GPIO引脚控制(草稿)
- Linux GPIO 的注册与申请
- Linux GPIO 的注册与申请
- 我的内核学习笔记11:linux leds-gpio驱动应用实例
- xcode6中如何创建category,extension,protocol
- python 有用的50个 lib
- CodeForces 490D Chocolate
- 键值编码 Key-Value Coding Programming Guide
- ogg-01172
- WRTnode mt7620n的GPIO复用引脚的释放及gpio-leds的注册
- 第十三周项目五(2) 统计A出现的次数
- 第13周项目1(5)-数组大折腾
- Linux 下的tmpfs文件系统(/dev/shm)
- IOS开发---IOS终端指令
- tabs 在底端
- Shell 和 Expect 脚本的自动登录运行
- Android RSA加密解密
- Exception in thread "main" org.apache.spark.SparkException: Task not serializable异常