User guide
MOTOROLA MPC184/MPC185 Security Co-Processor Software User’s Guide 3
PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE
Overview
1Overview
The MCP18x device driver controls the communications to the MCP184 and MPC185 chips from a variety
of processors. The MPC184 can operate in PCI or 8xx bus mode (PowerQUICC I). The MPC185 operates
in 60x bus mode. Both chips are memory mapped and are accessed by applications via the drivers’ system
or device memory.
The device driver is written in ANSI C. An attempt has been made to write a device driver that is
independent from the operating system agnostic, whenever possible. The operating system dependencies are
well identified and Section 6, “Porting,” addresses them.
The device driver has been tested in VxWorks 5.4 and Linux (Hard Hat Linux 2.0 Journeyman Edition by
Monte Vista—Kernel Version 2.4.2).
Throughout this document, VxWorks terminology is used for the discussion of information. Linux specific
differences are addressed in Section 6, “Porting.”
The driver’s interface is implemented through the
ioctl function call. The functions or requests made
through this interface can be broken down into specific components, which include miscellaneous requests
and process requests. The miscellaneous requests are all other requests not related to process requests. These
include get_status, malloc, and free. Malloc and free are available for Linux only.
Process requests make up the majority of the requests and all are executed using the same
ioctl function.
In Section 4.6, “Process Request Structures,” the structures used to define these requests are described.
Throughout the document, the acronyms CHA (crypto hardware accelerator) and EU (execution unit) are
used interchangeably. Both acronyms indicate the device’s functional block that performs the crypto
functions required. For further details on the device see the Hardware Reference Manual.










