Acpi Prp0001 0 __full__ Direct
Example output: PRP0001:00
Name (SBUF, ResourceTemplate ()
Since it relies on the unified device property API, it is generally very stable, provided the kernel/OS supports the underlying hardware. ⚠️ Common Issues & Troubleshooting
— Used when a device has acquired a formal ACPI ID from the vendor, but a fully DT‑compatible driver also exists. The _CID entry allows fallback to DT matching before the driver is updated to include the new ACPI ID. acpi prp0001 0
By ensuring your ACPI tables have a valid compatible property and your drivers have a proper of_match_table , you can leverage the full power of PRP0001 to bring up devices on your x86 or ACPI-based ARM platform without waiting for official ACPI IDs.
The Linux kernel documentation provides further details in Documentation/firmware-guide/acpi/enumeration.rst , which covers the enumeration rules and advanced usage scenarios for PRP0001. This information is also mirrored in the kernel sources under Documentation/acpi/enumeration.txt , depending on your kernel version.
You’ll see a snippet like:
You might see this in:
As documented in the Linux kernel ACPI enumeration guide , this special HID allows Linux to utilize the binding mechanism. Key Concepts: ACPI: Provides a hierarchical namespace of devices.
Suppose a device has both a PRP0001 entry (to load a DT driver) and a legacy PNPXXXX HID (for an older ACPI driver). The kernel may prefer the DT driver via PRP0001. Disabling PRP0001 forces the kernel to fall back to the native ACPI driver – useful for performance comparison or bug workarounds. By ensuring your ACPI tables have a valid
Before PRP0001 , ACPI devices needed specialized drivers that understood ACPI hardware IDs directly. However, many peripherals (like sensors, GPIO expanders, and I2C controllers) already have well-defined drivers in the Linux kernel that use Device Tree (DT) compatible strings.
Normally, ACPI and Devicetree (the system used by Linux on ARM/mobile devices) are two completely different ways for a computer to talk to its hardware. is a special "virtual" ID that tells the operating system:
Watch dmesg for new output.
Run: