Saturday, February 5, 2011

Understanding PCI Device / Configuration Registers

what is PCI? 
PCI is a standard, which help devices on board to communicate with each other.

What is PCI device?
E.g. all kinds of controllers, like SATA controller at southbridge, Memory controller at northbridge.

What is controller?
this controller may have single or multiple funtions (based on board m2v-mx_se)
SATA controller: bus0, device15, function0 (see vt8237r datasheet page 61)
Memory controller: bus0, device 18, function0,1,2,3 (see AMDK8 BKDG page 39)

What is in the function?
each function has 256 bytes, (offset from 0x00 to 0xff), there are many PCI configuration registers in each function. you can access these registers by standard PCI function. see previous article pci programming

PCI configuration Space:
Total 256 bytes, first 64 bytes of configuration space are standardized; the remainder are available for vendor-defined purposes. The format of the head can be found here

No comments: