SoC时钟系统提供的功能包括:使能控制、倍频、分频、复用等。因此,在软件代码中按照SoC时钟系统提供的功能来组织Clock provider的结构,方便用户使用。
CCF是common clock framework的缩写,意为通用时钟框架。在内核中通过宏定义CONFIG_COMMON_CLK打开CCF,打开相关宏开启CFG框架的通用功能,具体如下:
在详细说明CCF框架之前,以直观的方式了解一下CCF架构中几个重要数据结构之间的关系。
对于数据结构struct clk,目前已经整合到了CCF框架中,而某些平台具有自己的struct clk。
这其中,struct clk_core是代码层面的时钟树的体现,包含了时钟树的层次包含关系。
需要由SoC时钟驱动例化的数据结构struct clk_ops,注册关键的操作函数。例如:
源码文件结构如下所示:
CCF架构下提供的时钟控制相关函数如下图所示:
原作者:linux与soc
更多回帖