Hi,
On 6/17/20 12:34 PM, Andrew Lunn wrote:
On Wed, Jun 17, 2020 at 10:45:34PM +0530, Calvin Johnson wrote:
From: Jeremy Linton <jeremy.lin...@arm.com>
+static const struct acpi_device_id xgmac_acpi_match[] = {
+ { "NXP0006", (kernel_ulong_t)NULL },
Hi Jeremy
What exactly does NXP0006 represent? An XGMAC MDIO bus master? Some
NXP MDIO bus master? An XGMAC Ethernet controller which has an NXP
MDIO bus master? A cluster of Ethernet controllers?
Strictly speaking its a NXP defined (they own the "NXP" prefix per
https://uefi.org/pnp_id_list) id. So, they have tied it to a specific
bit of hardware. In this case it appears to be a shared MDIO master
which isn't directly contained in an Ethernet controller. Its somewhat
similar to a "nxp,xxxxx" compatible id, depending on how they are using
it to identify an ACPI device object (_HID()/_CID()).
So AFAIK, this is all valid ACPI usage as long as the ID maps to a
unique device/object.
Is this documented somewhere? In the DT world we have a clear
documentation for all the compatible strings. Is there anything
similar in the ACPI world for these magic numbers?
Sadly not fully. The mentioned PNP and ACPI
(https://uefi.org/acpi_id_list) ids lists are requested and registered
to a given organization. But, once the prefix is owned, it becomes the
responsibility of that organization to assign & manage the ID's with
their prefix. There are various individuals/etc which have collected
lists, though like PCI ids, there aren't any formal publishing requirements.