hpc
—
SGI High performance Peripheral Controller
hpc0 at gio0 addr 0x1fb80000
hpc1 at gio0 addr 0x1fb00000
hpc2 at gio0 addr 0x1fb98000
hpc3 at gio0 addr 0x1fb90000
hpc
interfaces the peripherals connected to it to the
sgimips/gio(4) bus.
hpc
is found on the Personal Iris 4D/3x, Indigo, Indy,
Challenge S, Challenge M, and Indigo2 machines.
There are three different numerical revisions of the
hpc
controller. Revisions 1 and 1.5 exist on
Personal Iris 4D/3x and Indigo machines, as well as GIO32bis expansion cards
such as the E++ SEEQ-based Ethernet adapter. Revision 1.5 supports bi-endian
operation. Revision 3 exists on Indy, Challenge S, Indigo2, and Challenge M
systems. It is possible to have an on-board HPC3 as well as HPC1.5-based
GIO32bis adapters in the Indy and Challenge S systems. Additionally, the
Challenge S may have a secondary HPC3 if the IOPLUS (a.k.a. ''mezzanine'')
board is installed.
- dsclock
- DS1286-based RTC
- dpclock
- DP8573A-based RTC
- haltwo
- HAL2 audio controller
- sq
- Seeq 8003 and 80C03 Ethernet controllers
- wdsc
- WD33c93 SCSI controller
- zsc
- Zilog Z8530 UART
The hpc
driver first appeared in NetBSD
1.6 with support for Revision 3. Revision 1 and 1.5 support was added
in NetBSD 2.0.
hpc
Revisions 1 and 1.5 support DMA buffer pointers of
only 28 bits and may therefore only address 256 megabytes of memory. The R4k
Indigo and Indy are the only systems that support sufficient memory to
illustrate this drawback. A software workaround is not currently implemented.
Revision 3, with 32 bit pointers, does not have this limitation.