README revision 1.1 1 1.1 briggs Overview
2 1.1 briggs
3 1.1 briggs This is a port to the Motorola "SandPoint" evaluation system. The
4 1.1 briggs SandPoint is the successor to the "Yellowknife" system. The system
5 1.1 briggs can be fitted with different PMCs (Processor Mezzanine Cards). This
6 1.1 briggs port is specifically for the rev X2 motherboard system with the PPC
7 1.1 briggs 8240 PMC rev X4 installed.
8 1.1 briggs
9 1.1 briggs All references (cf) listed here are for the MPC8240 Integrated Processor
10 1.1 briggs User's Manual.
11 1.1 briggs
12 1.1 briggs
13 1.1 briggs
14 1.1 briggs SandPoint Hardware Configuration
15 1.1 briggs
16 1.1 briggs This port was developed on a Sandpoint X2 motherboard with a Unity X4 PMC.
17 1.1 briggs
18 1.1 briggs This port assumes that the jumpers are set as follows:
19 1.1 briggs S3/S4 - Mode 1: PMC w/o IDE (switches opposite, one nearest PCI
20 1.1 briggs slot toward near edge)
21 1.1 briggs S5 - Interrupt to PMC normal (switch toward near edge)
22 1.1 briggs S6 - Local I/O shared with slot 2 (switch toward near edge)
23 1.1 briggs
24 1.1 briggs Mode 0 (PMC w/ IDE) does not appear to work right with ISA interrupts. The
25 1.1 briggs interrupts from the Winbond chip do not appear at the PMC.
26 1.1 briggs
27 1.1 briggs On the PPMC, we assume a 100MHz clock.
28 1.1 briggs on PPMC: (C == closed, or "on")
29 1.1 briggs SW2:
30 1.1 briggs C ROM on PCI bus (DINK32 on mainboard)
31 1.1 briggs - Map "B": CHRP
32 1.1 briggs C Motorola PPMC
33 1.1 briggs C Wait for initialization (peripheral mode)
34 1.1 briggs - Program mode: Normal mode
35 1.1 briggs - Select normal ROM
36 1.1 briggs - 33 MHz only
37 1.1 briggs - COP only resets local CPU/MPC107
38 1.1 briggs SW3:
39 1.1 briggs -C--C PCI 33, Mem 66, PPC 266
40 1.1 briggs -- 0.5 - 0.9 ns PCI hold time
41 1.1 briggs C 25 ohm PCI drive strength
42 1.1 briggs
43 1.1 briggs
44 1.1 briggs Address Map
45 1.1 briggs
46 1.1 briggs For this port, we choose the "Address Map B" (CHRP-compatible) for the
47 1.1 briggs system (see SW2, #2, above):
48 1.1 briggs
49 1.1 briggs (Processor View)
50 1.1 briggs 0000 0000 0009 FFFF System Memory
51 1.1 briggs 000A 0000 000F FFFF Compatibility Hole (programmable to go to PCI space
52 1.1 briggs or system memory--programmed for system memory--cf 5.8)
53 1.1 briggs 0010 0000 3FFF FFFF System memory
54 1.1 briggs 4000 0000 7FFF FFFF Reserved (programmed to give a memory select
55 1.1 briggs error if accessed--cf 5.7.2)
56 1.1 briggs 8000 0000 FCFF FFFF PCI memory space
57 1.1 briggs FD00 0000 FDFF FFFF PCI/ISA memory space (see 5.8, CPU_FD_ALIAS_EN)
58 1.1 briggs FE00 0000 FE7F FFFF PCI/ISA I/O space (Forwarded to PCI address space
59 1.1 briggs with high byte zeroed, but FE01 0000 and up are
60 1.1 briggs reserved)
61 1.1 briggs FE80 0000 FEBF FFFF PCI I/O space (Forwarded to PCI I/O space with high
62 1.1 briggs byte zeroed)
63 1.1 briggs FEC0 0000 FEDF FFFF PCI configuration address register (Each word in this
64 1.1 briggs range is aliased to the PCI CONFIG_ADDR register)
65 1.1 briggs FEE0 0000 FEEF FFFF PCI configuration data register (Each word in this
66 1.1 briggs range is aliased to the PCI CONFIG_DATA register)
67 1.1 briggs FEF0 0000 FEFF FFFF PCI interrupt acknowledge
68 1.1 briggs FF00 0000 FF7F FFFF 32- or 64-bit Flash/ROM space (Can hit either local
69 1.1 briggs memory or PCI bus -- cf. 5.6)
70 1.1 briggs FF80 0000 FFFF FFFF 8-, 32- or 64-bit Flash/ROM space (Can hit either
71 1.1 briggs local memory or PCI bus -- cf. 5.6)
72 1.1 briggs
73 1.1 briggs This is a host-mode port, so the inbound and output translation windows
74 1.1 briggs are unused.
75 1.1 briggs
76 1.1 briggs The Embedded Utilities Memory Block (EUMB) is set to be 1M below the end
77 1.1 briggs of the PCI memory space: FCF0 0000, so EUMBBAR is FCF0 0000, giving us
78 1.1 briggs
79 1.1 briggs Message unit (I2O) base : FCF0 0000 (cf. 10.2, 10.2.3, 10.3)
80 1.1 briggs DMA base : FCF0 1000 (cf. 9.2)
81 1.1 briggs ATU base : FCF0 2000 (cf. 4.3.3)
82 1.1 briggs I2C base : FCF0 3000 (cf. 11.3)
83 1.1 briggs EPIC base : FCF4 0000 (cf. 12.2)
84 1.1 briggs
85 1.1 briggs
86 1.1 briggs
87 1.1 briggs Boot Information
88 1.1 briggs
89 1.1 briggs The SandPoint ships with the Motorola DINK32 ROM. This is a rather
90 1.1 briggs basic ROM with only serial-download (S-Record) capability for
91 1.1 briggs loading the kernel. Basically, the kernel is loaded to a specified
92 1.1 briggs address and you jump to it. The ROM takes care of initializing
93 1.1 briggs the MICRs and MCCRs. There is really no boot information to pass.
94 1.1 briggs
95 1.1 briggs It would be nice to have a much more complete ROM interface, allowing
96 1.1 briggs settings for, say, bootp/tftp boot, automatic boot, and persistent
97 1.1 briggs settings (for console rate, auto boot, bootp, etc), and that might
98 1.1 briggs be provided at some point, but that's not available as of this
99 1.1 briggs writing.
100 1.1 briggs
101 1.1 briggs So, the kernel is hard-coded to boot w/ 64MB for now.
102 1.1 briggs
103 1.1 briggs
104 1.1 briggs
105 1.1 briggs Interrupt Configuration
106 1.1 briggs
107 1.1 briggs The 8240 has the internal EPIC. For the SandPoint, the EPIC is programmed
108 1.1 briggs in mixed-mode (GCR) with direct interrupts (EICR). With this configuration,
109 1.1 briggs there are 13 available interrupts:
110 1.1 briggs 4 global timers
111 1.1 briggs 5 direct IRQs
112 1.1 briggs IRQ0 - PCI Slot #0 INTA#
113 1.1 briggs IRQ1 - PCI Slot #1 INTA# / shared with WinBond I/O
114 1.1 briggs IRQ2 - PCI Slot #2 INTA#
115 1.1 briggs IRQ3 - PCI Slot #3 INTA#
116 1.1 briggs IRQ4 - On-PPMC 16552 interrupt (Unity X2)
117 1.1 briggs IRQ4 - pulled down w/ resistor (Unity X4)
118 1.1 briggs 4 internal interrupts
119 1.1 briggs I2C
120 1.1 briggs DMA Ch0
121 1.1 briggs DMA Ch1
122 1.1 briggs I2O message unit
123 1.1 briggs
124 1.1 briggs The SandPoint can run in one of 4 interrupt modes:
125 1.1 briggs 0 - PMC host with IDE (3.3v PCI slots are unavailable)
126 1.1 briggs 1 - PMC host w/o IDE (all PCI slots are available)
127 1.1 briggs 2 - PMC agent, Winbond providing arbitration & interrupt to INTA# on PMC
128 1.1 briggs 3 - Yellowknife mode--just like #2, except drives INTA# on 4th PCI slot
129 1.1 briggs
130 1.1 briggs We choose to run in mode 1 as Motorola recommends modes 0 or 1 for
131 1.1 briggs all new development. Unfortunately, mode 0 does not appear to
132 1.1 briggs work--"ISA" interrupts are lost. In this mode, with interrupts
133 1.1 briggs routed to PCI slot 3, we have to check for both a Winbond (ISA)
134 1.1 briggs interrupt, and a PCI slot interrupt. So basically, we have a
135 1.1 briggs two-level interrupt configuration for Winbond interrupts. The ISA
136 1.1 briggs bus attachment registers an interrupt for PCI slot 3 with its own
137 1.1 briggs interrupt handler. Drivers for ISA devices on the Winbond will
138 1.1 briggs register interrupts with the ISA interrupt handler. The sticky
139 1.1 briggs part of this is how to deal with one global interrupt priority.
140 1.1 briggs
141 1.1 briggs
142