作者:wowo 发布于:2017-9-1 10:46
分类:电源管理子系统
大家都知道,复杂IC内部有很多具有独立功能的硬件模块,例如CPU cores、GPU
cores、USB控制器、MMC控制器、等等,出于功耗、稳定性等方面的考虑,有些IC在内部为这些硬件模块设计了复位信号(reset
signals),软件可通过寄存器(一般1个bit控制1个硬件)控制这些硬件模块的复位状态。
Linux kernel为了方便设备驱动的编写,抽象出一个简单的软件框架----reset
framework,为reset的provider提供统一的reset资源管理手段,并为reset的consumer(各个硬件模块)提供便捷、统一的复位控制API。
reset
framework的思路、实现和使用都非常简单、易懂(参考kernel有关的API--include/linux/reset-controller.h、include/linux/reset.h可知),不过麻雀虽小,五脏俱全,通过它可以加深对Linux
kernel的设备模型、驱动框架、分层设计、provider/consumer等设计思想的理解,因此本文将对其进行一个简单的罗列和总结。
作者:wowo 发布于:2017-5-18 21:56
分类:Linux内核分析
本文将从provider的角度,介绍怎样在linux kernel dmaengine的框架下,编写dma controller驱动。
作者:wowo 发布于:2017-3-30 22:01
分类:Linux内核分析