I am working with the MVME230x SBC (MVME2304) with the PMC-Span PCI
bridge to be able to talk to 6 PMC modules. I use pciFindDevice() to
find them all with no problems. The PMC modules that I am using needs
to have BAR1 and BAR2 setup in PCI IO space addresses. I am using
pciConfigOutLong() successfuly to setup those addresses.
How do I figure out what addresses I need to put in BAR1 and BAR2 so
that I can address the registers in the modules directly?
The 2600.h file has the following macros defined:
CPU_PCI_IO_ADRS 0xfe000000 / base of PCI I/O space as seen from
PCI_IO_ADRS 0 / base of PCI I/O
space as seen from PCI bus
Also there are other defines that I do not know that might help me
address devices on the different PMC interfaces. They are :
Based on the above I have tried to write to the modules register with
Test1 address = CPU_PCI_IO_ADRS + register_offset
Test2 address = CPU_PCI_IO_ADRS + PMC_DEV_SPACE + register_offset
Test3 address = CPU_PCI_IO_ADRS + SPAN_IO_DEV_SPACE + register_offset
I have also tried adding some offset to all of the above just in case
those addresses where being used already with no success.
How does one find out where the other boards addresses are sitting at?
I have used pciDeviceShow () to see all devices on the PCI busses and
pciHeaderShow() to look at the BAR registers. Most of them are just
sitting at 0 or 1 or at PCI MEM space. Does somebody know whether
there is a better function that I can use to scan for other PCI I/O
addresses that are being used?
Thank You in advance for any help.