Embedded Controller Firmware Loading via PCIe Bridge
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
ARM-based heterogeneous computing platforms lack embedded controllers (ECs) and microcontrollers that can operate from the start of the system's reset and throughout its various power states, relying instead on limited audio Digital Signal Processors (aDSPs) and keyboard controllers for rudimentary EC-like operations.
Innovation Solution
The integration of ECs into ARM-based and other heterogeneous computing platforms, enabling the loading of firmware onto these ECs. This involves a heterogeneous computing platform with a RISC processor and a PCIe controller, where the EC is configured to retrieve firmware instructions, configuration settings, or tables from a PCIe device, and to cryptographically verify their integrity and authenticity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If ARM-based heterogeneous computing platforms are used, then power efficiency and mobile computing capabilities are improved, but the ability to operate embedded controllers from system reset and throughout power states is lost
Solution Approach 1:
The patent introduces a PCIe bridge as an intermediary component that enables the EC to access firmware and configuration data stored in PCIe device space. This bridge translates EC requests into PCIe transactions, allowing the EC to retrieve necessary information without requiring a dedicated microcontroller or aDSP, thus maintaining ARM-based platform efficiency while enabling reliable EC operation.
Solution Approach 2:
The patent makes the EC capable of operating from system reset by implementing a boot ROM that can execute code directly from PCIe device space. The EC is designed to handle multiple power states and retrieve firmware dynamically, making it a universal solution that replaces both traditional ECs and aDSPs, providing full functionality across different ARM-based platform configurations.
2Ease of operation
If traditional x86-based platforms with ECs are used, then robust low-level hardware controls are achieved, but device complexity and incompatibility with ARM architecture increase
Solution Approach 1:
The patent replaces the traditional x86-based EC architecture with an ARM-compatible EC that communicates through PCIe transactions. Instead of using x86-specific instruction sets and memory-mapped I/O, the system uses standardized PCIe protocols to access firmware and configuration data, making the hardware control capabilities compatible with ARM architecture while maintaining robust low-level control functions.
Solution Approach 2:
The patent changes the fundamental parameters of EC operation by moving firmware storage from traditional ROM/Flash to PCIe device space. The EC retrieves firmware dynamically through PCIe transactions rather than executing from fixed memory locations, and uses PCIe configuration space for device enumeration and resource allocation, fundamentally changing how hardware controls are implemented while maintaining capability.
3Device complexity
If aDSPs and keyboard controllers are used for EC-like operations, then device complexity is reduced, but functionality and reliability are insufficient
Solution Approach 1:
The patent implements a dynamic firmware loading mechanism where the EC retrieves and executes firmware from PCIe device space rather than having it statically embedded. The EC can adapt to different power states and operational modes by dynamically accessing updated firmware images through PCIe transactions, providing full EC functionality while maintaining a simple controller architecture based on the ARM core already present in the platform.
Data Source
AI summary
Systems and methods for loading firmware onto an embedded controller (EC) integrated into a heterogenous computing platform. In an illustrative, non-limiting embodiment, an Information Handling System (IHS) may include: a heterogeneous computing platform having a Reduced Instruction Set Computer (RISC) processor and a Peripheral Component Interconnect Express (PCIe) controller coupled thereto; and an EC integrated into the heterogeneous computing platform and coupled to the PCIe controller, wherein the EC is configured to retrieve at least one of: firmware instructions, a configuration setting, or a table, from a PCIe device coupled to the PCIe controller.


