PCIe Device Exposure via ACPI Integration in ARM SoC
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Portable computing devices often lack operating system support for PCIe interfaces, making it difficult to communicate with PCIe devices without preconfigured PCI or PCIe drivers, especially in compact designs prioritizing battery life and performance.
Innovation Solution
A method that exposes a PCIe compatible device to an operating system by determining content for PCIe base address registers, integrating this content into an ACPI, and using firmware to initialize the PCIe device, potentially through UEFI, thereby enabling communication without relying on PCI or PCIe drivers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Volume of moving object
If a portable computing device uses a reduced-size PCIe interface to save space and power, then the device size and power consumption are reduced, but the device loses the ability to communicate with PCIe devices without preconfigured drivers
Solution Approach 1:
The patent applies preliminary action by integrating PCIe base address register content into the ACPI tables before the operating system boots. This preconfiguration enables the OS to recognize and communicate with PCIe devices without requiring preinstalled drivers, resolving the contradiction between compact design and device compatibility.
2Use of energy by moving object
If the device prioritizes battery life and performance optimization, then power consumption is reduced, but PCIe interface support and communication capability are lost
Solution Approach 1:
The patent implements self-service by enabling the operating system to automatically configure PCIe device communication through integrated ACPI tables. The system serves itself by eliminating the need for external driver configuration, allowing reliable PCIe communication while maintaining power-efficient operation without requiring additional power-intensive driver management.
3Device complexity
If the device omits PCI and PCIe drivers to reduce complexity and improve boot time, then device complexity and boot time are reduced, but the ability to communicate with PCIe devices is lost
Solution Approach 1:
The patent merges PCIe base address register information directly into the ACPI tables, combining what were previously separate configuration elements into a unified structure. This integration allows the operating system to access PCIe device information through the standard ACPI interface without requiring separate driver configurations, thus maintaining ease of operation while reducing complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In a portable computing device having a system-on-chip (SoC) Acorn RISC Machine (ARM)-based resource architecture, a peripheral component interconnect express (PCIe) bus is used to insert PCIe device memory into system memory absent a PCIe driver. During a PCIe initialization, the contents of PCIe base address registers (BARs) are mapped or otherwise updated to coincide with values assigned to the PCIe device in the advanced configuration and power interface (ACPI) tables.