
GT-96100A Advanced Communication Controller
Revision 1.0
405
19. GENERAL PURPOSE PORTS
19.1
Overview
The GT-96100A supports up to 88 general purpose pins.
Most of these pins are shared (multiplexed) with the serial ports (ports A through F) and with the MII ports (MII0
and MII1). The result is that in most applications less than 88 pins can be configured as GPPs. However, the con-
trol of the ports in GT-96100A is made very flexible, providing the user with a pin level configuration capability.
Thus, for example, if port A is used for serial communication but one of its pins is not needed (e.g. PA[6]), this
single pin can be programmed to function as a general purpose pin, without affecting the other pins associated
with the serial function.
GT-96100A also provides the capability of generating interrupts for each of the GPP pins.
19.2
General Purpose Control Registers
The General Purpose registers control the behavior of the pins associated with the GPP function. There are 12
registers, which are divided into 3 groups. The groups are defined as follows:
Group 0 includes GPP, A and B ports.
Group 1 includes C, D, E and F ports.
Group 2 includes MII0 and MII1 ports.
Each group of registers comprises four registers, used to configure the group pins.
Table 373: Control Registers
Register
Description
General Purpose Con-
figuration registers
GPC0, GPC1, and GPC2
These registers control the setting of the pins as either general-purpose I/O or
peripheral function. When a pin is configured as peripheral, it’s exact functionality is
set according to the port’s connection setting. For example, if port C is connected to
MPSC2, PC[0] is used as RXD2. If port C is tied to TDM0, PC[0] can be set to
either TRXD0 or TTXD0.
General Purpose Input/
Output registers
GPIO0, GPIO1, and GPIO2
These registers control the direction of the pins (either input or output).
NOTE: GPIO registers affect pin functionality not only when the pin is configured
as general purpose I/O, but also when the pin is configured as peripheral
function. For example, If port C is tied to TDM0, setting PC[0] as TRXD0
(input) or TTXD0 (output) is done by programming GPIO1 accordingly.