External (_SB_.I2C0, DeviceObj) Scope (_SB.I2C0) Device (SENS) Name (_HID, "PRP0001") Name (_DSD, Package () ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () Package () "compatible", "bosch,bme280" , Package () "reg", 0x77 , )
Example: drivers/iio/pressure/bmp280.c includes:
Introduction: The Enigmatic Boot Message If you’ve ever watched the Linux kernel boot with dmesg or journalctl -k , you may have encountered a line that looks something like this: acpi prp0001 0
Notice the trick: The ACPI ID is PRP0001 , but the driver uses a pointer to the OF match table. The kernel then tries each compatible string in the _DSD against that table. Problem: Device not created (error -16 or -19) Step 1: Confirm the device is actually enumerated
For an I2C device, ensure the I2C controller driver is bound: External (_SB_
DefinitionBlock ("ssdt.aml", "SSDT", 2, "HACK", "PRP0001", 0x00000001)
ls /sys/bus/acpi/devices/PRP0001:00/ -l If the directory doesn’t exist, the ACPI table might be malformed or the device not present. This article will leave no stone unturned
This article will leave no stone unturned. We will explore what acpi prp0001 0 means, why it appears on your system, how it relates to the PRP0001 Hardware ID, and how to debug issues associated with it. Before deciphering prp0001 , we must understand ACPI (Advanced Configuration and Power Interface) .