Jump to content

"Plug 'n Play" Device IDs in ASL

irrational John

1 post in this topic

Recommended Posts

I've always wondered how to find out what those “UUUNNNN” strings inside the EISAID macro mean. For example, in the excerpt below what does "PNP0303" or "PNP030B" refer to?

Device (XYZ) {

Name (_HID, EISAID ("PNP0303")) // PC Keyboard Controller

Name (_CID, EISAID ("PNP030B"))



A step towards possibly more info. First I stumbled across this post which contains a list of Device IDs.


But the post also (thankfully :dev: ) links back to where the OP found that list. That would be here: PnP Device IDs


That site in turn refers back to The Linux pcmcia-cs Package as the source for its info.


Finally, while googling around I also stumbled across this DriverGuide site which may be useful. I say "may" because it looks to be yet another one of those subscription sites which appear (to me) to want to milk money out of people rather than truly assist them. I'll have to investigate further to see if it is really providing any useful info.


(FWIW, here's the original link google turned up to that site. However it is now annoyingly enough nagging me to "sign in". <sigh>)


Also worth noting is the rev 4 ACPI spec excerpt below which clarifies that these are EISA ID strings. (So ISA still lives on? Who knew?? :dev:Wikipeida entry for EISA)


18.5.34 EISAID (EISA ID String To Integer Conversion Macro)


EISAID (EisaIdString) => DWordConst


The EisaIdString must be a String object of the form “UUUNNNN”, where “U” is an uppercase letter and “N” is a hexadecimal digit. No asterisks or other characters are allowed in the string.


Converts EisaIdString, a 7-character text string argument, into its corresponding 4-byte numeric EISA ID encoding. It can be used when declaring IDs for devices that have EISA IDs.


EISAID (“PNP0C09”) // This is a valid invocation of the macro.


-irrational john

Link to comment
Share on other sites


  • Create New...