Acpi Prp0001 < 5000+ ORIGINAL >
Device (ACCL) Name (_HID, "PRP0001") Name (_DSD, Package() ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package() Package() "compatible", "bosch,bma250e" , Package() "reg", 0x18 , ) Name (_CRS, ResourceTemplate() I2cSerialBus(0x18, ...) GpioInt(...) )
Solution: PRP0001 allows firmware to say: “Look up my compatible string from a special _DSD property, and match me against Device Tree drivers.” In ACPI firmware (DSDT/SSDT) A device node looks like: acpi prp0001
ACPI node:
Result: bma250e driver (written for DT) probes successfully on x86+ACPI. | Feature | Normal ACPI device | PRP0001 device | |---------|--------------------|------------------| | HID | XYZ0001 | PRP0001 | | Match | acpi_device_id table | of_device_id (DT) | | Driver type | ACPI-aware driver | Any DT-binding driver | | _DSD | Optional | Required (must have compatible ) | | Use case | Full ACPI system | Embedded-style peripherals on x86 | If you’re dealing with a specific hardware issue (e.g., an I2C device not binding on an x86 board), the PRP0001 mechanism is often the cleanest way to reuse an existing DT driver without rewriting it for ACPI. Device (ACCL) Name (_HID, "PRP0001") Name (_DSD, Package()