瑞芯微Rockchip开发者社区
直播中

王树林

7年用户 1578经验值
私信 关注
[经验]

小编科普一下基于RK3399的CCF架构数据结构与功能

SoC时钟系统提供的功能包括:使能控制、倍频、分频、复用等。因此,在软件代码中按照SoC时钟系统提供的功能来组织Clock provider的结构,方便用户使用。

  1. 数据结构

CCF是common clock framework的缩写,意为通用时钟框架。在内核中通过宏定义CONFIG_COMMON_CLK打开CCF,打开相关宏开启CFG框架的通用功能,具体如下:

在详细说明CCF框架之前,以直观的方式了解一下CCF架构中几个重要数据结构之间的关系。

对于数据结构struct clk,目前已经整合到了CCF框架中,而某些平台具有自己的struct clk。

这其中,struct clk_core是代码层面的时钟树的体现,包含了时钟树的层次包含关系。

需要由SoC时钟驱动例化的数据结构struct clk_ops,注册关键的操作函数。例如:

  1. 功能

源码文件结构如下所示:

CCF架构下提供的时钟控制相关函数如下图所示:

原作者:linux与soc

更多回帖

发帖
×
20
完善资料,
赚取积分