dingusppc/zdocs/grackle.md
2020-03-03 20:54:09 -07:00

1.1 KiB
Raw Blame History

The MPC106, codenamed "Grackle", is a PCI bridge/memory controller. Its predecessor was the MPC105, codenamed "Eagle". It replaced an Apple-made host bridge codenamed "Bandit", part number 343S1125.

Unlike the CPU, which generally runs in big-endian mode, the Grackle runs in little-endian mode in compliance with the PCI standard. This usually means that to get the result in the correct endian, the PowerPC must load and store byte-reversed inputs and results.

By default, Grackle operates on Address Map B.

CONFIG_ADDR can be found at any address in the range 0xFEC000000xFEDFFFFF, while CONFIG_DAT can be found at any address in the range 0xFEE000000xFEEFFFFF. The device trees also establish 0xFEF00000 as the 8259 interrupt acknowledgement register.

PCI Config addresses work as follows:

bus << 16 | device << 11 | function << 8 | offset

Revisions

Revisions under 4.0 could allow up to 75 MHz, whereas 4.0 and newer can allow up to 83 MHz.

General Data

Vendor ID: 0x1057 (Motorola) Device ID: 0x0002 (MPC106)

Within the Mac's own device tree, this is usually device 0.

It also spans for 0x7F000000 bytes starting from 0x80000000.