专家们好
客户:福特
平台:S32G2
软件/模块:BSP43 SCMI
客户正在尝试启用 nvmem scmi 读取 soc_major& soc_minor。它们使用 BSP43 ATF 和 linux,但使用自己的引导加载器。他们在内核启动期间看到了一些错误。
客户的问题是:BSP43 ATF 和 linux 能否在不支持任何 uboot 的情况下使用 scmi nvmem?
提前感谢您的专业支持。
顺祝商祺!
狮子座
谢谢您的回答。
那么,我可以这样理解吗?
客户没有在 M7 端启用 SRM,而 ATF 和 Linux 都能正常工作,就像启用了 SMR 一样。
BR、
狮子座
你好@LeoLiAP、
从提供的日志中可以明显看出,福特是在没有SRM的情况下启动他们的平台,如以下行所示:注意:BL31:SR M禁用版本。这意味着不需要 SCMI NVMEM,因为 TF-A 不会处理该协议。
由此产生的错误在意料之中:
错误:代理 1 协议 0x82 消息 0x0:不支持
[0.333763] arm-scmi 固件:scmi:无法 获取版本
[0.334178] scmi-nvmem scmi_dev.6:无法检索 SCMI NVMEM 操作
[0.334658] scmi-nvmem:对 scmi_dev.6 的探测失败 ,错误- 95
福特使用的似乎是混合设置--FF-A 没有配置 SRM,因此 SCMI 命令在本地处理,而不是转发到 M7 内核。但是,Linux仍然希望通过设备树支持SCMI NVMEM,这会导致不匹配。
最简单的解决方法是更新 Linux 设备树以使用 SIUL2 NVMEM,而不是依赖 SCMI NVMEM。
此致,
根纳迪
错误日志如下。