Acpi Prp0001 | 0

Note: In cases where a device has both a traditional ACPI ID and PRP0001 , the system can prioritize the specific ACPI handler if necessary, but PRP0001 acts as a fallback for generic DT drivers. 4. PRP0001 and Device Tree Property Matching

Here is why this is a unique and "neat" feature for system developers: 1. The "Devicetree" Bridge

: Used on Intel Edison or other IoT platforms to let Linux drivers work without rewriting code for ACPI. How to handle it If you are seeing this as an "Unknown Device" in Windows: ACPI Based Device Enumeration

The kernel uses the of_match_table (Open Firmware match table) of drivers. If you have an I2C device on an ACPI bus, you can define it like this in ACPI: 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.

It allows for complex hardware configurations that the rigid ACPI standard might struggle to define. How It Works in the Kernel

Define the device with its official ACPI _HID as the primary identifier and use _CID = "PRP0001" for fallback only: Note: In cases where a device has both

Compile ( iasl ssdt.asl ) and load via cat ssdt.aml > /sys/kernel/config/acpi/table/ssdt1 .

If a device has PRP0001 in its ACPI ID list, the kernel ( ACPI / scan ) handler treats it as a special case, allowing it to bind to drivers using of_match_table (Open Firmware/Device Tree match table). How it Works: The Role of _DSD

This difference creates a challenge. If a developer wants to use a simple I2C sensor on an x86 ACPI system, they have two options: The "Devicetree" Bridge : Used on Intel Edison

If you are troubleshooting or writing a driver, you can find the real identity of acpi:prp0001:0 by checking the system logs or sysfs.

When the Linux ACPI subsystem encounters a device in the ACPI table, it performs the following steps, as described in ⁠Linux-Kernel Archive patches :

: A patch added acpi_of_match_device() export for Rust kernel modules, fixing missing match data on PRP0001 devices when drivers are written in Rust.

Demystifying ACPI\PRP0001\0: The Ultimate Guide to the Device Tree-to-ACPI Bridge