《【北京迅为】itop-3568开发板驱动开发指南.pdf》 学习笔记
文章目录
- 生产者属性
- #clock-cells 属性
- clock-output-names
- clock-frequency
- assigned-clock
- clock-indices
- assigned-clock-parents
- 消费者属性
设备树中的时钟信息以时钟树形式体现,时钟树包括时钟的属性和结构等信息,驱动在进行时钟初始化时,会从设备树中获取对应的时钟参数。
在设备树中,时钟分为消费者和生产者。
生产者属性
#clock-cells 属性
#clock-cells 代表时钟的路数,#clock-cells 为 0 时,代表有一路时钟输出,#clock-cells 大于 0 时,代表有多路时钟输出。
示例1:#clock-cells 为 0,对应的时钟输出只有一个
示例2:#clock-cells 为 1,对应的时钟输出有两个
clock-output-names
该属性定义了输出时钟的名字,上面的示例中都提到了这一属性。
clock-frequency
该属性用于指定时钟的频率,例如:
assigned-clock
assigned-clock 和 assigned-clock-rates 一般成对使用,前者为时钟名,后者为时钟频率,
示例1:
示例2:
clock-indices
clock-indices 属性用于指定索引号,默认情况下(不指定 clock-indices),clock-output-names 和 index 对应关系为 0,1,2… 此时我们可以通过指定 clock-indices 来修改 clock-output-names 和 index 的对应关系。
示例:下面例子中,clock-0 的时钟 index 被指定为 0,1,2,所以 “atlclk” 对应索引号为 0,“aplclk” 索引号为 1,”gpuclk" 索引号为 2。clock-1 的时钟 index 被指定为 3,所以 “pxlclk” 对应的索引号为 3(如果没有指定 clock-indices,它的索引号应为 0)。
assigned-clock-parents
该属性用于设置时钟的父时钟,
示例:
assigned-clock-rates 为 0 表示不设置该时钟频率。
消费者属性
clocks 属性用来指定消费者使用的时钟源, clock-names 属性用来指定消费者使用的时钟名,
示例: