ROMCS0 Redirection to PC Card Socket A
on the ÉlanTMSC400 Microcontroller
Application Note
by Dave Tobias
The Élan™SC400 microcontroller supports a unique feature benefiting those involved with manufacturing, testing, and field upgrade of firmware on ÉlanSC400 microcontroller-based products.
This feature is a pin-strap option that allows memory cycles that hit the region decoded by the boot
ROM chip select (ROMCS0) logic to be redirected to PC Card Socket A.
Using the ROMCS0 redirection feature, products can
be manufactured using Flash memory devices on
which the system firmware has not yet been loaded.
Using this technique allows the OEM to delay loading
the firmware until after the product is built, thus allowing the very latest level of firmware to ship with the
The ROMCS0 redirection feature also allows a field
service facility to test the end product simply by placing
a linear memory (not AT Attach (ATA)) PC Card into
Socket A (which contains product-specific diagnostics), setting a jumper, and pressing reset.
Perhaps one of the most compelling uses for the
ROMCS0 redirection feature is to perform safe field
upgrades of system firmware. On many systems,
including user-friendly desktop systems, the boot ROM
is soldered down. The system vendors often allow the
end user to download BIOS updates over the internet,
and then program the updates into the system Flash
memory using a custom programming utility.
In most cases, the user is warned not to turn off the
system power during the Flash memory programming
process. Losing system power during this operation
may result in having to remove the soldered Flash
memory device, and reprogram it using an EPROM
This is never a problem when using the ÉlanSC400
microcontroller’s ROMCS0 redirection feature because
the linear memory in the PC Card socket functions as
the boot ROM when ROMCS0 is redirected there.
To use the ROMCS0 redirection feature, PC Card
socket power must be maintained at all times while
code or data fetches are being performed from it. On
the ÉlanSC400 microcontroller, general purpose I/Os
GPIO15–GPIO13 have a secondary, programmable
function as PC Card socket power controls.
By default, GPIO15–GPIO13 are general purpose I/Os
with their default termination set up so that the socket
power for PC Card Socket A is turned on. This is done
specifically to support the ROMCS0 redirection feature
and is required because the PC Card socket power
must be enabled at system reset for the initial opcode
fetches from the linear memory PC Card to be performed.
During initialization, firmware typically programs the
ÉlanSC400 microcontroller configuration, status, and
control (CSC) registers very early in the process. If the
PC Card controller is used, one of these initializations
eventually sets CSC index 39h[5]. This bit controls the
function muxing on three of the ÉlanSC400
microcontroller pins.
At reset, these pins default to GPIO15–GPIO13.
Setting CSC index 39h[5] turns these pins into PC Card
Socket A power controls. However, as soon as
GPIO15–GPIO13 are transformed into PC Card socket
power controls, the default GPIO termination is
disabled, and the control of these pins comes from
PCMCIA register (i.e., 3E0/3E1 space) index 02h[4].
Firmware that enables the PC Card socket power
control function on these pins may thus inadvertently
shut off the power to the PC Card socket from which it’s
running, which will result in a system malfunction.
To work around this situation, BIOS or other firmware
initialization code that configures GPIO15–GPIO13 as
PC Card socket power controls should first enable the
PC Card controller via CSC index D0h[1], and then set
02h[4] in PC Card register space to enable the PC Card
socket power via the PC Card controller registers. After
this is done, CSC index 39h[5] may be set, thus enabling GPIO15–GPIO13 as PC Card socket power
controls, without losing power to the PC Card socket.
This document contains information on a product under development at Advanced Micro Devices. The information
is intended to help you evaluate this product. AMD reserves the right to change or discontinue work on this product
without notice.
Publication# 21643 Rev: A Amendment/0
Issue Date: November 1997
Copyright © 1997 Advanced Micro Devices, Inc. All rights reserved.
AMD, the AMD logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc.
Élan is a trademark of Advanced Micro Devices, Inc.
Product names used in this publication are for identification purposes only and may be trademarks of their respective companies.
ROMCS0 Redirection to PC Card Socket A on the Élan™SC400 Microcontroller