ARM SCP firmware porting
- Track: Embedded, Mobile and Automotive
- Room: UD2.120 (Chavanne)
- Day: Sunday
- Start: 11:30
- End: 11:55
- Video only: ud2120
- Chat: Join the conversation!
Contemporary embedded SoCs increasingly act as a network of specialized CPU cores, some dedicated to user applications, other dedicated to real time tasks, others to security. All those cores still share one set of critical peripherals, which require resource access coordination. This is increasingly implemented by making all cores talk to a dedicated core called SCP, the System Control Processor, using SCMI protocol. The SCP is responsible for coordinating access to critical resources, clock, reset, power domain, and so on. An open source firmware, SCP-firmware, can be used on the SCP to offer the SCMI services. This talk explains how to implement a port of SCP-firmware to an SCP core, what is the architecture of SCP-firmware, its initialization process, its driver or module model, how the ordering of module start up is achieved, how to implement UART and mailbox driver modules, and finally how SCMI server services are bound to modules and exposed to other cores. This is illustrated by an example code from existing SCP-firmware port to contemporary SoC.
LINKS: - ARM SCP firmware https://gitlab.arm.com/firmware/SCP-firmware - SCMI specification v4.0 https://developer.arm.com/documentation/den0056/f
Speakers
| Marek Vasut |