目录
1. 关于PCSA和SCP
2. 关于PSCI和SCMI
3. 关于芯片SoC设计中的一些要点
参考:
这里以ARM为例来进行说明,我们在做驱动软件的时候,就需要跟硬件SoC里面的IP打交道,通过操作寄存器来实现硬件功能。之前的文章:ARM SCP入门-AP与SCP通信中3和4章节已经进行了简单介绍,这里再重点参考“老秦谈芯”的文章进行一下补充。
1. 关于PCSA和SCP
参考:ARM系列 -- PCSA(一) ARM系列 -- PCSA(二)ARM系列 -- PPU
SCP直接控制SoC的电源和时钟,而AP通过硬件和软件接口协同管理。
芯片设计,要完成整个芯片的电源管理,需要软硬件结合。一般上层软件部分交给操作系统(Linux和Android等);下层软件由SCP固件(Firmware)实现,其由MHU,PPU这些模块构成,当然Core也需要有相关的硬件支持。这也就是所谓的分层管理机制。
ARM官方PCSA规定了SCP:PCSA ARM官方文档:
https://developer.arm.com/search#q=Power_Control_System_Architecture
在PCSA里面,主要规范的是逻辑实现,物理实现部分并没有在文档中过多的体现。换句话说,PCSA是给芯片架构师和前端设计师看的。至于物理实现,遵循S家和C家的流程。
在SCP中完成SoC的功耗管理(当然,SCP不仅仅完成这个工作)。为此,ARM又定义了一大堆的接口,组件和协议来配合,统称为“功耗控制框架(power control framework,以下简称PCF)”。