SCMI协议总体概述

PSCI 杂说

PSCI(Power State Coordination Interface)为Linux和ATF之间的电源管理交互协议,不只是用来电源管理,还有开关机以及进入安全域做一些事情也是这种协议进行。利用的是SMC之类的系统调用完成。(如果感兴趣人多,可以考虑也写一个类似的概述)
本来想上传这个pdf,但是说已经存在了,那就算了。大家自己搜吧

SCMI

SCMI(System Control and Management Interface)协议为ACPU和M0做交流使用的方式,纯电源管理和上下电类型,两者通讯机制都是不一样的。
文档下载链接 https://download.csdn.net/download/weixin_36406973/12601118

抽象内容

SCMI抽象出协议和传输两层,协议层描述能够支持的命令,传输层定义了命令通过什么方式传输,发送命令方称为agent。有个限制,每个agent的传输通道必须一个或者多个,然后如果有安全需求,那安全AP必须使用安全的通道进行传输数据。

协议层

协议层有以下几个限制

  • 通道(channel)必须是分开独立的,各个agent不能使用同一个。避免platform无法识别message对应方
  • agent 必须是独立的操作系统
  • 通道支持双向通讯,另外也能够支持中断、polling两种方式,让agent选择
    在这里插入图片描述
    从agent到platform的消息分为两种,同步和异步,为A2P通道
  • 同步(synchronous),agent返回的时候对应的platform操作就已经完成了。platform返回操作结果命令也是通过agent到platform的通道,同一个通道完成这些操作
  • 异步(asynchronoous),当platform完成后,会发送 delayed response给到agent告知对方工作完成,这是P2A通道。agent发送完消息后,立马得到platform的返回,然后释放通道继续做下一次传输
    [message header]
    在这里插入图片描述
    [protocol_id]
    在这里插入图片描述
    [message type]
  • Commands 的message type都是0。对于不支持的协议和message类型,platform都要回复 NOT_SUPPORTED
  • Delayed responses 类型都是2
  • Notifications 为3
    [message id]
    message id这个就不强求了,但是有个基本要求,如果有新增的协议,那里面0/1/2这三个message都必须按照协议走
    在这里插入图片描述

传输层

传输层文档也就定义了一种方式 ,mailbox方式(核间通讯的一种ip)。这种通讯的前提是系统能够在agents和platform之间存在共享内存(ddr和片上flash都行,最好是片上flash)。mailebox能够完美支持前面提到的通道的需求,中断、内存和完成中断等都能够,而且是软件可操控。比如下面流程指出的中断和polling方式:
在这里插入图片描述
图我就不细说了,大家自己看图说话就行,如果有不理解的,我们可以评论区见。
这里我比较关心的是mailbox通讯怎么定义在flash里面的layout,刚好有个图我直接拿上来了
在这里插入图片描述

PSCI/SCMI两者之间关系

从图中可以看出,PSCI为AP内部的协议,然后需要实际控制外部设备或者电源域之类内容的时候,需要通过PSCI转为SCMI才行,或者AP直接发出SCMI协议去控制。
在这里插入图片描述

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
ACPI(高级配置和电源接口)是一种操作系统的标准接口,用于管理硬件设备和电源管理功能。它定义了一组操作系统中的API(应用程序接口),允许操作系统与计算机的硬件进行交互和通信,包括控制电源状态、管理温度、与外部设备通信等。ACPI提供了一种统一的接口,使操作系统能够了解硬件设备的能力和配置,并根据需要控制它们的行为。 SCMI(系统控制和管理接口)是一种用于系统控制和管理的通信协议。它定义了一组消息和命令,用于在系统中的不同组件之间进行通信和控制。SCMI支持多种功能,包括电源管理、性能调整、温度管理、时钟控制以及设备间通信等。通过SCMI,不同的系统组件可以相互通信和控制,实现有效的系统管理和协调。 PSCI(功耗状态协议)是一种用于处理器功耗状态管理的接口。它定义了一组标准化的接口和协议,用于处理器的电源控制和功耗状态管理。PSCI允许操作系统与处理器交互,控制其进入不同的功耗状态,如睡眠状态、休眠状态和唤醒状态等。通过PSCI,操作系统可以更好地管理处理器的功耗,实现节能和性能的平衡。 综上所述,ACPI提供了操作系统与硬件设备之间的通信和控制接口,SCMI定义了系统中不同组件之间的通信和控制协议,而PSCI用于处理器的功耗状态管理。这些接口和协议的使用可以实现更好的系统管理、设备控制和功耗管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值