Intel
®
81341 and 81342—Exception Initiator and Boot Sequence
Intel
®
81341 and 81342 I/O Processors
Developer’s Manual
December 2007
732
Order Number: 315037-002US
10.3
Intel XScale
®
Processor
Boot Sequence
This section describes various Intel XScale
®
processors booting sequence options, and
how these various booting options are accomplished. The default boot device is the
Flash memory, but the 81341 and 81342 also provides a mechanism which can allow
each core to boot from other memory subsystem (in other words, SRAM memory.)
Caution:
SRAM memory must be properly scrubbed before being used.
10.3.1
Theory of Operation
The 81341 and 81342 provides hardware resources that can be used to accomplish
various boot sequence options.
• HOLD_X0_IN_RST# — this is an external pin strap that can be used to control
whether coreID0 stays in reset after the system reset is de-asserted. When the
strap is pulled low, coreID0 stays in reset after the main system reset is de-
asserted. The status of HOLD_X0_IN_RST# is reflected in bit 0 of the ATU PCI
Configuration and Status Register (PCSR). Software can only clear this bit and is
required to clear this bit to de-assert coreID0 reset.
• HOLD_X1_IN_RST# — this is an external pin strap that can be used control
whether coreID1 stays in reset after the system reset is de-asserted. When the
strap is pulled low, coreID1 stays in reset after the main system reset is de-
asserted. The status of HOLD_X1_IN_RST# is reflected in bit 1 of the PCI
Configuration and Status Register (PCSR). Software can only clear this bit and is
required to clear this bit to de-assert coreID1 reset.
• Software Interrupt Pending Register — Initialization software running on slave
cores can synchronize with a master core by using their corresponding software
interrupt pending registers. Each core/ICU consists of such a register. Note that
although the software interrupt pending register is not designed for that purpose, it
provides the correct attributes for that purpose. The master core would be the core
that starts running and carries out adequate system initialization before other slave
cores are allowed to proceed with their initialization sequence. The system may
want one core (a master core) to initialize part of the system while the other cores
(slave cores) would wait in a software loop — wait on the software interrupt
pending register. When the master core has completed adequate initialization, it
can release the slave cores by writing the software interrupt pending registers of
the slave cores.
The next sections describe the steps involved in the various boot sequence for 81341
and 81342.