mirror of
https://github.com/dingusdev/dingusppc.git
synced 2024-11-19 13:31:44 +00:00
25 lines
1.1 KiB
Markdown
25 lines
1.1 KiB
Markdown
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 0xFEC00000–0xFEDFFFFF, while CONFIG_DAT can be found at any address in the range 0xFEE00000–0xFEEFFFFF. 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.
|