how to translate from udev path to ACPI Device

0

I have a PCI device as follows

DEVPATH=/devices/pci0000:00/0000:00:0c.0/0000:04:00.0

% lspci -s 04:0
04:00.0 Non-VGA unclassified device:

This publishes multiple i2c buses. So am attempting to learn how to translate this to ACPI.

Investigation so far

% cat /sys/bus/pci/devices/0000\:00\:0c.0/firmware_node/path
\_SB_.PCI0.PEX3

So, I create the device within the scope of this device and address as shown by the last part of DEVPATH

     Scope (\_SB_.PCI0.PEX3)
     {
             Device (PD01)
             {
                 Name (_ADR, 0x00040000)
                     Device (CH00)
                     {
                         Name (_ADR, 00)
                         Name (_HID, "PRP0001")
                         Name (_STR, Unicode("MUX0"))
                         Name (_CRS, ResourceTemplate ()
                                 {
                                 I2cSerialBus (0x70, ControllerInitiated, 100000,
                                         AddressingMode7Bit, "\\_SB_.PCI0.PEX3.PD01.CH00", 0x00,
                                         ResourceConsumer,,)
                                 })
                         Name (_DSD, Package ()
                                 {
                                 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
                                 Package () {
                                 Package (2) { "compatible", "nxp,pca9548" },
                                 }
                                 })
                     }
            }
        }

I then compile this with iASL and add the table dynamically using the Loading SSDT with configfs.

When I monitor this using the udevadm monitor I see that the ACPI device are created, but the PCA9548 is not loaded.

% cat /sys/bus/acpi/devices/PRP0001\:03/path
\_SB_.PCI0.PEX3.OCOR.CH03 

Should the kernel driver used for the FPGA do any special handling to allow ACPI to permit the devices below it be discovered?

The FPGA driver is auto-loaded as part of PCI enumeration.

Is there any error in how I have nested the Device definition?

linux-device-driver
device-tree
acpi
asked on Stack Overflow Jul 18, 2020 by ksrikanth • edited Jul 18, 2020 by 0andriy

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0