六、 power requestor
power requestor属于coresight组件。这个组件用来控制系统的power domain,最多可以控制32个。
如果没有power requestor,通过DAP,只能对整个coresight系统进行上下电操作,但是有了power requestor,可以对某些关心的组件,进行上下电操作,实现power的精细操作。
以下是power requestor的框图,通过apb总线访问该组件,该组件通过cpwrupreq信号,向系统power发送请求,通过cpwrupack获取到系统power的状态。
以下是power requestor的寄存器。
除了CDBGPWRUPREQ和CDBGPWRUPACK两个寄存器是requestor的自定义寄存器,其他有用的均是coresight规定的寄存器。
1. CDBGPWRUPREQ
控制对于指定的power domain的请求是否有效。
对于要对power domain1,请求上电,就将bit1置1即可。要对power domain1,请求下电,就将bit1置0即可。
2. CDBGPWRUPACK
只读的寄存器,保存power domain的状态。每一bit表示一个power domain。
如这个寄存器值为0x3,表示domain0和domain1是上电的。
3. DEVID
这个寄存器的低6bit,保存了系统中有多少个power domain。
系列其他篇
原文首发于骏的世界博客
作者:卢骏.
更多Arm技术相关的文章请关注Arm技术博客极术专栏,每日更新。