Acpi Prp0001 0 !!better!! Jun 2026
A user reported a Windows BSOD STOP 0x1000D with the following message: "Value 0 : _PRW specified with no wake-capable interrupts and at least one GPIO interrupt".
For kernel developers, PRP0001 is part of the "Unified Device Property API." It allows you to define device properties in ACPI using a special _DSD (Device Specific Data) object. This permits the kernel to match the device to a driver using a compatible string (like atmel,24c256 ) even though it's on an ACPI platform.
In the past, hardware developers had a problem. If they made a simple component (like an I2C temperature sensor), they had to write two different sets of descriptions: one for ACPI and one for Device Tree. acpi prp0001 0
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
If a device fails to probe (showing an error like probe of PRP0001:01 failed with error -38 ), the most common issues are a missing driver, an incorrect compatible string, or the kernel's failure to correctly match the data between the ACPI description and the DT driver. A user reported a Windows BSOD STOP 0x1000D
Manufacturers can support new hardware on x86 platforms without registering a formal ACPI ID.
This is typically not a PRP0001 issue directly, but a firmware configuration error where an ACPI device lists a GPIO interrupt in its _PRW (Power Resources for Wake) package without also providing a compatible wake‑capable interrupt controller. Windows enforces stricter rules than Linux for interrupt configuration. In the past, hardware developers had a problem
: Mika Westerberg's commit 733e625 introduced the special PRP0001 ID so that driver matching could be done using Device Tree compatible properties.
The technical mechanism behind PRP0001 relies heavily on the "compatible" property. In the Device Tree model used heavily in Linux, devices are matched to drivers based on a "compatible" string (e.g., "ti,tmp102" for a Texas Instruments temperature sensor). When a device in an ACPI table uses the ID PRP0001, it must also include a "_DSD" (Device Specific Data) method that contains a "compatible" property. This mechanism allows the kernel to treat an ACPI-enumerated device exactly as it would a Device Tree-enumerated device. For example, a real-time clock or an I2C sensor described in ACPI tables can use PRP0001 to bind to existing Linux drivers that were originally written for Device Tree hardware, without requiring a rewrite of the driver or the creation of a new ACPI-specific driver.
If you’ve been digging through dmesg on a modern Linux system (especially on embedded x86, Intel SoCs, or single-board computers like the Minnowboard or UP Board), you may have encountered the cryptic line:
: Create a new, official ACPI ID for the device, write ACPI Source Language (ASL) code to describe it, and add that ID to the driver's ACPI match table in the Linux kernel. This is the "proper" but often cumbersome route, as it requires coordination and allocation of new IDs.
