主题 : linux驱动的clk问题请教 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 5655
精华: 0
发帖: 69
金钱: 345 两
威望: 69 点
综合积分: 138 分
注册时间: 2009-05-02
最后登录: 2018-10-29
楼主  发表于: 2011-12-08 19:18

 linux驱动的clk问题请教

为什么很多模块 比如SPI  ADC在驱动probe中,都有个clk_get  clk_enable()  等函数?难道系统启动后,这些外围器件的时钟都是关闭的?需要开启?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2011-12-08 22:50
驱动这样写只是为了确保所需要的clock源是开启的,因为在驱动初始化之前的状态并不确定。对于一个设计合理的系统来说,启动时应关闭所有不需要的时钟以获取最低的耗电性能。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."