Subject: Re: Current EFIKA status?
To: Tim Rightnour <root@garbled.net>
From: Frank Wille <frank@phoenix.owl.de>
List: port-ofppc
Date: 10/25/2007 19:31:20
Tim Rightnour wrote:

On 24.10.07 22:19:12 you wrote:

> On 24-Oct-2007 Frank Wille wrote:
>> Maybe you shouldn't spend too much time on it. It can be used as a
>> fallback for unknown OFW-architectures, but for the Pegasos everything is
>> known. I got all the required offsets and tricks.
> 
> Do we know? I tried the indirect pciconf methods and couldn't get anything
> out of them. What addresses do you have for those?

/pci@80000000 config:
PCI-Addr at 0xf1000c78
PCI-Data at 0xf1000c7c

/pci@c0000000 config:
PCI-Addr at 0xf1000cf8
PCI-Data at 0xf1000cfc

Those registers are not in PCI space.
0xf1000000 seems to be the base of the Marvell Discovery II chip. Those
registers are also mapped little-endian.

Writing to the 66MHz pci@c0000000 bus with the AGP socket requires some
magic in the usual config-read/write procedure:
- Before writing the address to cf8, write 0x00800000 to 0xf100f118 (little
  endian bus space).
- When done and having reset the address in cf8 to zero, write 0x00800000 to
  0xf100f11c (little endian again).


Interrupts:

There is a confusing "8259-interrupt-acknowledge" property in the first PCI
device node, and OpenBSD as well as Linux seem to use it. But from the
MorphOS-team I learned that it is irrelevant. Accessing the i8259 in the I/O
space of the first PCI host should work. Nothing else is needed.

Interrupts for ISA devices are as usual. The remaining devices on the PCI
bus use IRQ 9, except IDE, which is 14/15.


-- 
    _  Frank Wille (frank@phoenix.owl.de)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer