本讲是Camera KMD ISP子系统专题的第30讲,我们讲解Camera KMD ISP子系统之CPAS驱动模型。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
CPAS是一个Master-Client的架构,所有Clients的Bandwith Vote都需要通过CPAS,
CPAS Master
- 所有的Camera硬件模块都是作为CPAS的一个Client,比如上图的IFE/IPE/CDM/….
- CPAS将所有Clients的投票信息进行汇总,再作为MSM-BUS的Client进行投票给SoC
CPAS driver就是作为cpas驱动模型的master
- 负责管理所有的client
-
负责汇总所有client的bandwidth vote
-
负责与MSM-BUS总线投票框架建立联系
CPAS Client
Camera内部涉及到ahb/axi带宽投票的都需要注册为cpas client,主要流程如下:
- 通过接口cam_cpas_register_client()注册为cpas client
-
Client需要负责汇总自己的带宽使用需求
-
更新自己的axi vote/ahb vote到cpas master
MSM-BUS
MSM-BUS是高通实现的一套总线动态控制软件框架,CPAS driver一共有三个port注册为MSM-BUS client
-
ahb-client用于update 所有cpas client的ahb bandwidth到MSM-BUS框架
-
axirt-client用于update 所有挂在AXI RT BUS的cpas client的axi bandwidth到MSM-BUS框架
-
axinrt-client用于update 所有挂在AXI NRT BUS的cpas client的axi bandwidth到MSM-BUS框架