首页 > 代码库 > OpenWRT GPIO口控制 WLED

OpenWRT GPIO口控制 WLED


Linux系统下GPIO系统架构介绍

关于这个GPIO很久以前一直以为很简单,但是,当你需要给一个特定的系统,搞这些GPIO的时候,你会发现,事实并不是如此,比如,mt7620n。

GPIO#72是控制WLED -> WLAN LED.

GPIO#40~44是控制WAN, LANLED.

GPIO#1是控制Reset


这些东西以为自己写一个GPIO driver就完成了,其实没有那么简单,光是这个小驱动你怎么编译都比较麻烦,所以还是乖乖的学习OpenWRT的系统架构吧。


这里要说道重点dts.这个东西我ChinaUnix论坛里请教了,大神绝对是多啊,一个晚上就两个完整的文档。 device tree source.

http://bbs.chinaunix.net/thread-4139331-1-1.html


主要是把之前arch/目录下一些特定板级代码直接移除,用device tree source 来表示,一些板子的共性则用 *.dtsi 这个文件来存储。

关于dts的我就不介绍了,上面的文档里面有详细的说明。


再来说说这个dts, 没有的接口千万不要乱用,不然会出大麻烦的。需要好好熟悉下,内核中关于这个dts的实现,现在了解的是 dts在编译过程中会编译为dtb文件,bootloader传递这个dtb的地址给kernel,kernel自己去根据device tree 初始化设备,所以这个才是设备的核心,内核的模块话。



pinctrl 子系统, pinmux子系统。。。

http://lwn.net/Articles/465077/