Linux根据系统GPIO系统架构简介
关于这个GPIO我一直认为非常非常长的时间easy。但。当你需要给一个特定的系统,参与这些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/
版权声明:本文博主原创文章,博客,未经同意不得转载。