GT-64260A Design Guide
Doc. No. MV-S300165-00, Rev. A
CONFIDENTIAL
Copyright © 2002 Marvell
Page 74
Document Classification: Proprietary Information
May 21, 2002, Preliminary
Section 8. Multi-Purpose Pin Interface Functional
Overview
The GT-64260A has 32 Multi-Purpose Pins (MPP). Each one can be assigned to a different functionality through
the MPP Control registers (Offsets: 0xf000, 0xf004, 0xf008, and 0xf00c). The MPP pins can be used as hardware
control signals to the various GT-64260A interfaces (UMA control, DMA control, or PCI arbiter signals) or as Gen-
eral Purpose Pins. For more information, see the GT-64260A datasheet’s "Pins Multiplexing" section.
Note
Since the MPP interface is configured as input at reset and for hardware protection from software errors,
it is recommended to pull all the MPP pins either high or low.
8.1
General Purpose Pin (GPP)
Each MPP can be configured to function as a General Purpose Pin. When an MPP is configured as GPP, it can
function as input or output (GPP I/O Control register, Offset: 0xf100) and it can be configured as an active low or
high signal (GPP Level Control Register, Offset: 0xf110).
When a certain GPP is configured as output, it is driven to its inactive state by default. In this configuration, the
associated bit in the GPP Value register (offset 0xf104) is read/write. Setting the corresponding bit in the GPP
Value register to ‘1’ sets the associated GPP output pins (inverted in case of active low pin).
To initialize the GPP outputs:
1.
Select the IO control for the corresponding GPP pins in the GPP I/O Control register, at offset 0xf100. If a
specific bit is set to '1', the corresponding GPP pin is set as an output.
2.
In the GPP Level Control register, at offset 0xf110, select the GPP pins activity (polarity). Setting a specific bit
in the GPP Value register, at offset 0xf104, to '1' asserts the corresponding GPP pin. If the pin is an active low,
the GPP pin will be driven low. if it is active high, the GPP pin is driven high.
Note
If the GPP output is routed back to another GPP input, they must have the same polarity.
3.
Select the GPP functionality to GPP in the MPP Controlx registers (Offsets: 0xf000, 0xf004, 0xf008, 0xf00c,
0xf010).
For example, to set GPP10 as an active low GPP output:
/* Initialization */
SET_REG_BITS(GPP_IO_CONTROL,BIT10); /* Output */
SET_REG_BITS(GPP_LEVEL_CONTROL,BIT10); /* Active Low */
RESET_REG_BITS(MPP_CONTROL1, BIT8 | BIT9 | BIT10 | BIT11); /* GPP functionality */
/* Asserting */
SET_REG_BITS(GPP_VALUE, BIT10); /* Set the GPP bit */
/* Deasserting */