I have run into a problem I am having a hard time figuring out.
I have an MPC7400 SBC (PCI bus based) that has a device X residing at the following locations in memory:
0x1860 0000 - 0x186f ffff device control register space 0xb000 0000 - 0xbfff ffff device memory spaceNow assume for a moment that NOTHING special needs to be done to access either space once the system has booted and bus enumerator have set things up.
ioremap() of the first physical address returns a VALID virtual address ... that I can read and write to. It works as expected because there are signature values at various offsets in the control register space. The virtual address returned is EQUAL to the physical address
ioremap() of the second physical address also returns what appears to be a VALID virtual address although WRITES go nowhere and READS return all ff's. The virtual address returned is 0xc100 0000
Now my question ... I have the source for the port. Where should I focus my efforts in trying to figure this out?
I have read the device drivers book and certain that I am following the rules.
I should also mention that there is an IO controller seperate from the MPC7400 that I use to verify that the device X control and memory exist in THAT physical range.
If Only I can access them through ioremap()
Thanks