[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
IO Question
All,
I am building single chip WWW server based on a PCI NE2000 card. As such..I
have no OS or PCI controller chip....just a PIC micro connected straight to
the PCI bus.
The following is working perfectly:
- CONFIG READ
- CONFIG WRITE
I can read and set the various config registers...including the BARs. In my
card, BAR0 requests 256 IO addresses and BAR1 requests 256 MEM addresses. I
have set these BARs as follows
BAR0 (io) = 00001000
BAR1 (mem)= 00001000 (ie same...but this should not matter??)
and I have set the CONFIG_COMMAND register to have the CMD_IO_SPACE and
CMD_MEM_SPACE bits set (all others off)
But...this is NOT working;
- IO READ
- MEM READ
In an NE2000, a read from (IO_BASE_ADDR + 00) or (MEM_BASE_ADDR+00) should
give me the NE2000 COMMAND register. In fact...I get the hardwired MAC
address for the card (ie from the on board EPROM)
So...I can not workout why I am getting back address 00 from the EPROM
instead of address 00 from the normal registers.
Ideas??
Rob