Datasheet AMD Alchemy Au1100
Datasheet AMD Alchemy Au1100
Datasheet AMD Alchemy Au1100
PRELIMINARY INFORMATION
www.DataSheet4U.com
w April 2002
wcharacterization. A revised document will be available when the product is fully characterized.
.D
at
aS
he
et
4U
.c
om
Au1100 Data Book - PRELIMINARY
Document Number 2000-0001
Document Revision 0.5
Third party brands, logos and names are the property of those respective third parties.
Disclaimer
This documentation is provided for use with AMD products. No license to AMD property rights
is granted. AMD assumes no liability, provides no warranty either expressed or implied relating
to the usage, or intellectual property right infringement except as provided for by the AMD
Terms and Conditions of Sale.
AMD products are not designed for and should not be used in any medical or life sustaining or
supporting equipment.
All information in this document should be treated as preliminary. AMD may make changes to
this document without notice. Anyone relying on this documentation should contact AMD for
the current documentation and errata.
AMD
7800 Shoal Creek Blvd, Suite 222W
Austin, TX 78757
512.421.6200 phone
512.421.6262 fax
www.alchemysemi.com
ii The Alchemy Au1100TM From AMD Internet Edge Processor Data Book - PRELIMINARY
Contents
1 The Alchemy Au1100TM From AMD Internet Edge Processor . . . . . . . 1
1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Product Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Databook Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Differences between Au1100 and Au1000. . . . . . . . . . . . . . . . . . . . . . . . 5
2 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Caches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Write Buffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Virtual Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.6 MIPS32 Instruction Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.7 Coprocessor 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8 System Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.9 EJTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3 Memory Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.1 SDRAM Memory Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2 Static Bus Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4 DMA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1 DMA Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.2 Using GPIO Lines as External DMA Requests . . . . . . . . . . . . . . . . . . . 94
9 EJTAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311
9.1 EJTAG Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
9.2 Debug Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I-1
SDRAM
SDRAM
External Controller
LCD
Controller EJTAG
Enhanced 16KB
System Bus
MIPS - 32 Inst. Cache DMA Controller
PCMCIA CPU Core Bus Unit
16KB Ethernet MAC
32 X 16 MAC Data Cache
Flash
LCD Controller
SRAM
Controller USB - Host
SRAM
Power Mgmt
USB Device
ROM
RTC (2) I2S
Expansion
Peripheral BUS
Bus
Secure Digital Interrupt Control
Controller
GPIO (48)
SSI (2)
1.3.2 Unpredictable
UNPREDICTABLE results may vary from processor implementation to implementation,
instruction to instruction, or as a function of time on the same implementation or instruction.
Software can never depend on results that are UNPREDICTABLE. UNPREDICTABLE
operations may cause a result to be generated or not. If a result is generated, it is UNPRE-
DICTABLE. UNPREDICTABLE operations may cause arbitrary exceptions.
UNPREDICTABLE results or operations have several implementation restrictions:
• Implementations of operations generating UNPREDICTABLE results must not
depend on any data source (memory or internal state) which is inaccessible in the
current processor mode
• UNPREDICTABLE operations must not read, write, or modify the contents of
memory or internal state which is inaccessible in the current processor mode. For
example, UNPREDICTABLE operations executed in user mode must not access
memory or internal state that is only accessible in Kernel Mode or Debug Mode or
in another process
• UNPREDICTABLE operations must not halt or hang the processor
UNPRED used to describe the default state of registers should be taken as meaning
UNPREDICATABLE.
1.3.3 Undefined
UNDEFINED operations or behavior may vary from processor implementation to imple-
mentation, instruction to instruction, or as a function of time on the same implementation or
instruction. UNDEFINED operations or behavior may vary from nothing to creating an envi-
ronment in which execution can no longer continue. UNDEFINED operations or behavior
may cause data loss.
UNDEFINED operations or behavior has one implementation restriction:
• UNDEFINED operations or behavior must not cause the processor to hang (that is,
enter a state from which there is no exit other than powering down the processor).
The assertion of any of the reset signals must restore the processor to an operational
state
1.4.1 Peripherals
The Au1100 does not have the following peripherals that are present on the Au1000:
Ethernet MAC 1
UART2
The Au1100 has added these functions not present on the Au1000:
Integrated LCD Controller
Secure Digital Controller
13 Dedicated GPIO’s (48 total)
Additionally, the SDRAM memory controller now has an independent I/O power supply
(VDDY) and can support both 3.3 V and 2.5 V devices.
1.4.2 Miscellaneous
Some inputs to the interrupt controller have changed due to the addition/removal of blocks.
Refer to the interrupt controller section for Au1100 interrupt map.
The DMA channel encoding provides up to 32 Device IDs to the controller. New channels
for SD data transfer have been added.
A new CCA encoding has been added to the Au1100. If CCA == 4, all system bus accesses
will be cacheline aligned, i.e. no cacheline wrapping is supported.
The Au1100 CPU core is a unique implementation of the MIPS32 instruction set architecture
(ISA) designed for high frequency and low power. This chapter provides information on the
implementation details of this MIPS32-compliant core.
The full description of the MIPS32 architecture is provided in the “MIPS32TM Architecture
For Programmers” documentation, available from MIPS Technologies, Inc.. The information
contained in this chapter supplements the MIPS32 architecture documentation.
mini-ITLB
CP0 Registers
EJTAG
Instruction
Cache
Register File
Fetch TLB
Decode
MAC
Execute
Data Write
Cache Cache Buffer
Writeback
Hit
Miss
System Bus
The Au1 core contains a five-stage pipeline. All stages complete in a single cycle when data
is present. All pipeline hazards and dependencies are enforced by hardware interlocks so that
any sequence of instructions is guaranteed to execute correctly. Therefore, it is unnecessary
to pad load delay slots with NOPs.
The general purpose register file has two read ports and one write port. The write port is
shared with data cache loads and the pipeline Writeback stage.
2.2 Caches
The Au1 core contains independent, on-chip 16KB instruction and data caches. Each cache is
organized as four-way set associative, 128 sets per way, and 32 bytes per line.
128 Sets
Way 0 Address Tag & State Word 0 Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7
Way 1 Address Tag & State Word 0 Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7
Way 2 Address Tag & State Word 0 Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7
Way 3 Address Tag & State Word 0 Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7
A cache line address is always 32-byte aligned. The cache is indexed with the lower, untrans-
lated bits (bits 11:5) of the virtual address, allowing the virtual-to-physical address transla-
tion and the cache access to occur in parallel.
Cache Address Decode
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Virtual/Physical Address Set Select Byte Select
Cache Miss:
if (Streaming) then Replacement = 0,
else if (LRU is !Valid or !Locked) then Replacement = LRU
else if (nLRU is !Valid or !Locked) then Replacement = nLRU
else if (nMRU is !Valid or !Locked) then Replacement = nMRU
else Replacement = MRU
Cache Hit:
new MRU = Hit Way
In short, the LRU is a true LRU, but with the following priorities:
1. Streaming: cache misses are forced to way 0, cache hits remain unchanged.
2. Locking: cache misses follow policy above and set Lock bit, cache hits set Lock bit.
CCA Description
000 - 0 Reserved
001 - 1 Reserved
010 - 2 Uncached, non-mergable
011 - 3 Cacheable, coherent (critical word first)
100 - 4 Reserved
101 - 5 Cacheable, coherent (critical word first)
110 - 6 Cacheable, coherent, streaming (critical word first)
111 - 7 Uncached, mergable, gatherable
The data cache employs a read-allocate policy. Cache lines can be replaced on loads, but not
on stores. Stores that miss in the data cache are forwarded to the write buffer.
ML
CV35 0 BM 31 0
15
SBUS
NOTE NOTE: Merging takes places only in the Merge Latch. As such, writes to an address
which are in the FIFO (but not in the ML) do not merge. In the example below,
writes to 0x0001000 and 0x0001002 do not merge because the intervening write to
address 0x00001005 is not in the same word address which caused 0x00001000 to
leave the ML.
0x00001000 = 0xAB
0x00001005 = 0xCD
0x00001002 = 0xDE
EntryLo0 0 0 PFN0 C0 D0 V0 G
EntryLo1 0 0 PFN1 C1 D1 V1 G
The PageMask determines the number of significant bits in the 32-bit address generated by
the program (either as a load/store address or an instruction fetch address). The upper, signif-
icant bits of the program address are compared against the upper, significant bits of VPN2.
When an address match occurs, the PFN bit of the program address selects either PFN0 or
PFN1 as upper bits of the resulting 36-bit physical address.
The TLB mechanism permits mapping a smaller, 32-bit program address space into a larger
36-bit physical address space. The Au1 implements an internal 36-bit physical address sys-
tem bus (SBUS) which is then decoded by integrated peripherals, and by chip-selects for
external memories and peripherals.
The cache coherency attributes (CCA) of the physical page are controlled by the TLB entry.
The valid values are described in Table 2. In general, I/O spaces require a non-cacheable set-
ting, whereas memory can utilize a cacheable setting.
NOTE Physical addresses in which address bits 35:32 are non-zero must be mapped non-
cached, CCA encoding 2.
The TLB array is managed completely by software. Software can implement a TLB replace-
ment algorithm that is either random (via the TLBWR instruction) or deterministic (via the
TLBWI instruction). Hardware is available to segment the TLB via the Wired register so dif-
ferent replacement strategies can be used for different areas of the TLB.
2.5 Exceptions
The Au1 core implements a MIPS32-compliant exception scheme. The scheme consists of
the exception vector entry points in both KSEG0 and KSEG1, and the exception code (Exc-
Code) encodings to determine the nature of the exception.
The Au1 core does not implement hardware floating-point. As a result, all floating-point
instructions generate the Reserved Instruction (RI) exception, which permits floating-point
operations to be emulated in software.
In addition, the Au1 core does not recognize Soft Reset, Non-Maskable Interrupt (NMI), or
Cache Error exception conditions.
All interrupt sources are equal in priority; that is, the interrupt sources are not prioritized in
hardware. As a result, software determines the relative priority of the interrupt sources.
When Cause[ExcCode]=0, software must examine the Cause[IP] bits to determine which
interrupt source is requesting the interrupt.
For more information on Interrupt Controller 0 and 1 see Chapter 5.
The effective address base should be 0x80000000 (KSEG0) to avoid possible TLB excep-
tions, and place zeros in the remainder of the effective address. The format correlates to a
16KB cache that is 4-way set associative with 128 sets and 32-byte line size.
Software must not use the Index Store Tag CACHE operation to change the Dirty, Lock and
Shared state bits. To set the Lock bit, software must use the Fetch and Lock CACHE opera-
tion.
The Index Load Tag and Index Store Tag CACHE operations utilize CP0 registers DTag,
DData, ITag and IData. The format of data for Index Tag operations is depicted in the
description of these registers.
CACHE operations that require an effective address (i.e. not the Index operations) do not
generate the Address Error Exception or trigger data watchpoint exceptions.
2.7 Coprocessor 0
Coprocessor 0 (CP0) is responsible for virtual memory, cache and system control.
The MIPS32 ISA provides for differentiation of the CP0 implementation. The Au1 core has a
unique CP0 that is compliant with MIPS32 specification.
In Table 6 the Au1 CP0 registers are listed.
Register Register
Sel Description Compliance
Number Name
4 0 Context Pointer to a page table entry Required
5 0 PageMask Variable page size select Required
6 0 Wired Number of locked TLB entries Required
7 0 Reserved Reserved
8 0 BadVAddr Bad virtual address Required
9 0 Count CPU cycle count Required
10 0 EntryHi High half of TLB entries Required
11 0 Compare CPU cycle count interrupt comparator Required
12 0 Status Status Required
13 0 Cause Reason for last exception Required
14 0 EPC Program Counter of last exception Required
15 0 PRId Processor ID and Revision Required
16 0 Config Configuration Registers (aka Config0) Required
16 1 Config1 Configuration Register 1 Required
17 0 LLAddr Load Link Address Optional
18 0 WatchLo Data memory break point low bits Optional
18 1 IWatchLo Instruction fetch breakpoint low bits Optional
19 0 WatchHi Data memory break point high bits Optional
19 1 IWatchHi Instruction fetch breakpoint high bits Optional
20 0 Reserved Reserved
21 0 Reserved Reserved
22 0 Scratch Scratch register Au1
23 0 Debug EJTAG control register Optional
24 0 DEPC PC of EJTAG debug exception Optional
25 0 PerfCnt Performance counter value(s) Au1
25 1 PerfCtrl Performance counter control(s) Au1
26 0 Reserved Reserved
27 0 Reserved Reserved
Register Register
Sel Description Compliance
Number Name
28 0 DTag Data cache tag value Au1
28 1 DData Data cache data value Au1
29 0 ITag Instruction cache tag value Au1
29 1 IData Instruction cache data value Au1
30 0 ErrorEPC Program counter at last error Required
31 0 DESave EJTAG debug exception save register Optional
During IDLE0 or IDLE1 mode, the Count register increments at an unpredictable rate; there-
fore the Count/Compare registers can not be used as the system timer tick when using the
WAIT instruction to enter an Idle mode.
During Sleep mode, this register will not increment.
The PerfCnt register provides read/write access to the current value of both performance
counters A and B. The PerfCnt register concatenates the two 16-bit counters into a one 32-bit
register. A read of this register returns the current count for each performance counter. A
write to this register will preload the counters to new values. The performance counters are
reset to zeros when a write to the PerfCtrl register is written.
NOTE: USx=0 and ESx=0 is constant so that the counter is effectively disabled and thus con-
sumes no power.
A listing of the valid units and events can be obtained from AMD.
NOTE: This register corresponds to the DataLo register in the MIPS32 ISA specification.
DData CP0 Register 28, Select 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Data
Def. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
NOTE: This register corresponds to the DataHi register in the MIPS32 ISA specification.
IData CP0 Register 29, Select 1
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Data
Def. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
2.9 EJTAG
EJTAG is supported per the MIPS EJTAG Rev. 2.5 specification. EJTAG provides for CPU
and board level bring-up and debug.
The Au1100 contains two memory controllers, one for SDRAM and one for static devices.
The SDRAM controller supports SDRAM, SMROM and Sync Flash. The controller has its
own independent voltage I/O that may be programmed to supply various output voltages
such as 2.5 V and 3.3 V.
The static device controller supports SRAM, Flash, ROM, page mode ROM, PCMCIA/Com-
pact Flash devices, and an external LCD controller interface.
Both memory controllers support software configurable memory address spaces. This allows
designers to keep memory regions contiguous. For example, a system with 4MB initially
installed would locate the memory at physical address 0. Normally, adding 16MB would cre-
ate a 12MB "hole" in the memory map. With the address configuration options in the Au1100
the 4MB can be relocated to start at 16M and the new memory can be located at 0 to allow a
20MB contiguous memory pool.
All registers in the Memory Controller block are located off of the base address shown in
Table 7.
Table 83 shows how the state of ROMSEL and ROMSIZE will determine where the proces-
sor boots from. The system designer has the choice of booting from 32 bit flash, 16 bit flash,
32 bit SMROM or 32 bit SyncFlash. The ROMSEL and ROMSIZE configuration is dis-
cussed in more detail in Section 8.2, "Reset".
Register
Offset Description
Name
0x0000 mem_sdmode0 Chip Select 0 Mode Configuration (Timing and
Functionality)
0x0004 mem_sdmode1 Chip Select 1 Mode Configuration (Timing and
Functionality)
0x0008 mem_sdmode2 Chip Select 2 Mode Configuration (Timing and
Functionality)
0x000c mem_sdaddr0 Chip Select 0 Address Configuration and
Enable
0x0010 mem_sdaddr1 Chip Select 1 Address Configuration and
Enable
0x0014 mem_sdaddr2 Chip Select 2 Address Configuration and
Enable
0x0018 mem_sdrefcfg Refresh Configuration and Timing
0x001c mem_sdprecmd Issue Precharge to all enabled chip selects
0x0020 mem_sdautoref Issue Auto Refresh to all enabled chip selects
0x0024 mem_sdwrmd0 Write data to CS0 SDRAM mode register
0x0028 mem_sdwrmd1 Write data to CS1 SDRAM mode register
0x002C mem_sdwrmd2 Write data to CS2 SDRAM mode register
0x0030 mem_sdsleep Force SDRAM into self refresh mode
0x0034 mem_sdsmcke Toggle SMROMCKE pin
19:18 RS This field sets the number of bits in the row address R/W See
as shown below: above
RS Row Address Size
0 11
1 12
2 13
3 Reserved
17:15 CS This field sets the number of bits in the column R/W See
address as shown below: above
CS Column Size
0 7
1 8
2 9
3 10
4 11
5 Reserved
6 Reserved
7 Reserved
14:11 Tras This field designates the minimum delay from a R/W 15
activate to a precharge command.
The value in the Tras field must be one less than
the minimum number of SDRAM clock cycles
required.
10:9 Tmrd This field sets the required delay from an external R/W 3
load of the SDRAM mode register (not the chip
select mode register) to an activate command.
The value in the Tmrd field must be one less than
the required number of SDRAM clock cycles.
8:7 Twr The Twr field sets the write recovery time. This is R/W 3
the last data for a write to a precharge. This field is
sometimes referred to a Tdpl.
The value in the Twr field must be one less than the
required number of SDRAM clock cycles.
6:5 Trp This field sets the time from precharge to the next R/W 3
activate command.
The value of the Trp field must be one less than the
required number of SDRAM clock cycles.
4:3 Trcd This field sets the RAS to CAS delay. R/W See
The value of the Trcd field must be one less than Above
the required number of SDRAM clock cycles.
2:0 Tcl This field sets the minimum CAS latency timing. R/W See
This is the time from CAS to DATA on reads. Above
The value in the Tcl field must be one less than the
required number of SDRAM clock cycles.
20 E When the E bit is set the chip select is enabled. R/W See
Clearing the E bit will prevent the chip select from above
becoming activated on a matching address com-
pare.
19:10 CSBA The CSBA field becomes bits 31:22 of the chip R/W See
select base address. The lower bits of the base above
address are zero.
9:0 CSMASK The bits in the CSMASK field become bits 31:22 of R/W See
the chip select comparison mask. The lower bits of above
the mask are set to zero.
31:28 Trc The Trc field specifies the minimum time from R/W 0xf
the start of an auto refresh cycle to an activate
command for all SDRAM chip selects.
The value of the Trc field must be one less than
the minimum number of SDRAM clock cycles.
27:26 Trpm This field specifies the minimum time from a R/W 3
precharge to the start of a refresh cycle for all
SDRAM chip selects. This is used because a
precharge all command is automatically initi-
ated before an auto refresh command. This
value should be programmed with the worst
case Trp from the sdr_csmoden registers.
The value of the Trpr field must be one less
than the minimum number of SDRAM clock
cycles.
24:0 RI Refresh Interval - This field specifies the maxi- R/W 0x1FFFFFF
mum refresh interval in system bus clocks for
all SDRAM ranks.
The refresh interval is for each individual
refresh so for a system with a row address size
of 12 (4096 rows) and memory with a refresh
time of 64ms (all rows), the individual refresh
interval will be 15.7us (64ms/4096). With a sys-
tem bus clock of 198MHz, the RI value should
be 0xC24. (15.7us/(1/198MHz).
SDCKE
Tmrd
SDCS[n]
Tras
SDRAS
Trcd
SDCAS Trp
SDWE
SDBA[1:0]
SDA[12:0] row col (a) col (b) row (c) col (c) row (d)
(a/b)
SDQM
Tcl
SDD[31:0] a1 b1 b2 c1 c2 c3 c4
SDCKE Tmrd
SDCS[n]
Tras
SDRAS
Trcd
SDCAS Trp
SDWE
SDBA[1:0]
SDA[12:0] row col (a) col (b) row (c) col (c) row (d)
(a/b)
SDQM
Twr
a1 b1 b2 c1 c2
SDCKE
Trpm Trc
SDCS[2:0]
This example assumes that all SDCLK ranks ([2:0] are enable.
The above timing represents the following:
1. Trpm = 3 (4 SDRAM clock cycles)
2. Trc = 3(4 SDRAM clock cycles)
Input/
Pin Name Description
Output
Input/
Pin Name Description
Output
15:13 DIV Setting these bits will adjust the divsor for the LCLK R/W 0
output clock. The clock frequency is set by
LCLK = (System Bus Clock / 2) / (DIV + 1)
Note: LCLK should not exceed 50 MHz.
This bit is a global attribute and is only present in
mem_stcfg0.
12 BV When this bit is set the burst size for static transfers R/W 0
will be output on the LCD controller pins for chip
selects not configured as LCD or PCMCIA. The
burst size output is one less than the number of 32
bit words to be transferred. For 16 bit chip selects
twice as many beats will occur. All beats are guar-
anteed to occur. The mapping of the burst size to
pins is shown in Table 12.
This bit is a global attribute and is only present in
mem_stcfg0.
10 AV Setting this bit will place the address for all internal R/W 0
accesses to the system bus on the static address
bus. This is intended to be used as a debug aid and
should not be used during normal operation as it
will increase system power usage.
This bit is a global attribute and is only present in
mem_stcfg0.
9 BE Endianness R 0
0 - Little Endian
1 - Big Endian
This bit should be set to match the endianess of the
processor. This bit should not be set for PCMCIA.
8 TS The TS bit selects the timing scale for the chip R/W 0
select. When TS is cleared the timing is derived
from the system bus clock. Setting TS causes tim-
ing to be based on the system bus clock divided by
4 resulting in larger timing granularity and poten-
tially longer access times.
2:0 DTY The DTY field describes the type of device con- R/W 3
trolled by the static controller chip select. A list of
device types and encodings is shown in Table 11.
Programming multiple chip selects as LCD or PCM-
CIA is illegal. Only one of each is supported.
PFN[35:32]
Chip Select
DTY Function (upper nibble of Reference
physical address)
0 Static Ram 0x0 Section 3.2.2
1 I/O Device 0xD Section 3.2.2
2 PCMCIA Device/Com- 0xF Section 3.2.3
pact Flash
3 Flash Memory 0x0 Section 3.2.2
4 LCD Device (CE2 only) 0xE Section 3.2.4
5 Reserved
6 Reserved
7 Reserved
Signal Pin
burst_size[2] LWR0
burst_size[1] LRD1
burst_size[0] LRD0
30:28 Twcs This field specifies the required chip select hold R/W 0x03
time after a write pulse.
(Twcs + 1) is the actual number of cycles.
27:24 Tcsh This field specifies the required number of cycles R/W 0x0f
that the chip select must remain deasserted
between accesses.
(Tcsh + 1) is the actual number of cycles.
22:20 RES These bits are reserved and should be written a 0. R 0x00
19:14 Twp This field specifies the duration of the write enable. R/W 0x3f
(Twp + 1) is the actual number of cycles.
13:10 Tcsw This field sets the delay from the assertion of chip R/W 0x0f
select until the write strobe is asserted.
The timing is as follows:
(Twcsw + 1) is the actual number of clock cycles
9:6 Tpm This field determines the number of cycles required R/W 0x0f
from a burst address change until read data is valid
if the PM bit is set in the static_confign register.
The actual read happens at (Tpm + 1) clock cycles.
Ta will determine the access time for the first beat
of each burst.
31:24 Tmst This field specifies the strobe width during R/W 0xff
memory accesses to PCMCIA chip selects.
(Tmst + 2) is the actual number of cycles to the
end of the strobe, however the actual read
occurs at (Tmst + 1).
23:17 Tmsu This field specifies the setup time from chip R/W 0x7f
select to strobe during memory accesses to
PCMCIA chip selects.
(Tmsu + 2) is the actual number of cycles.
16:11 Tmih This field specifies the hold time for address, R/W 0x3f
data, and chip selects from the end of the
strobe for both memory and I/O cycles to PCM-
CIA chip selects.
(Tmih + 2) is the actual number of cycles.
10:5 Tist This field specifies the strobe width for I/O R/W 0x3f
accesses for a chip select configured for PCM-
CIA.
(Tist + 2) is the actual number of cycles to the
end of the strobe, however the actual read
occurs at (Tist + 1).
4:0 Tisu This field specifies the setup time from chip R/W 0x1f
select to strobe during I/O accesses for PCM-
CIA.
(Tisu+ 2) is the actual number of cycles.
27:14 CSBA This field specifies bits 31:18 of the physical R/W 0x3fff
base address for this chip select. Thee upper
nibble of the chip select address is deter-
mined by the DTY encoding in the
mem_stcfg register.
13:0 CSMASK This field specifies which bits of CSBA are R/W 0x3fff
used to decode this chip select (see text).
TABLE 13. Static RAM, I/O Device and Flash Control Signals
Ta Tcsh
RCSn
Ta Tpm Tpm Tpm
RBE[3:0]
RWE
ROE
BurstSize[2:0]
ROE
EWAIT
Twcs
RCSn
RBE[3:0]
Tcsw Twp
RWE
ROE
RAD[31:0] addr1
RD[31:0] data1
Twcs
RCSn
Twp
RWE
EWAIT
physical PCMCIA
address mapping
0xF 0xxx xxxx I/O
0xF 4xxx xxxx Attribute Memory
0xF 8xxx xxxx Memory
Note: Each of the PCMCIA physical address spaces have a maximum size of 64 MByte. Any
access beyond the 64 MByte space will alias back into the defined region.
Table 15 enumerates the signals to support the PCMCIA interface.
Input/
Pin Name Output Description
Input/
Pin Name Description
Output
PCE[1:0] O Card Enables (Active Low)
Muxed with GP[206:205] which con-
trols the pins out of hardware reset,
runtime reset and sleep.
POE O Memory Output enable
PWE O Memory Write Enable
Muxed with GP207 which controls the
pin out of hardware reset, runtime
reset and sleep.
PIOR O I/O Read Cycle Indication
PIOW O I/O Write Cycle Indication
PWAIT I This signal is asserted by the card to
delay completion of a pending cycle.
PIOS16 I 16 bit port select
OE O Output Enable - This output enable is
intended to be used as a data trans-
ceiver control as it will remain
asserted for read or deasserted for
write for the entire PCMCIA transac-
tion
Figure 11 and Figure 12 show a one and two card PCMCIA implementation. For the two card
implementation RAD26 is used as a card select signal. Both figures assume that the PCM-
CIA card can be hot swapped at any time. If the card is fixed in the system much of the inter-
face logic can be removed. A Compact Flash implementation is very similar to the PCMCIA
implementation except that the number of address lines used is fewer.
PCE0
PCE1
OE
PCE[1:0] CE[1:0]
RAD[25:0] ADDR[25:0]
PREG REG
Au1xxx POE Buffer
OE
PWE
PCMCIA PIOR
OE WE
IOR
Host PIOW DETO
IOW
Adapter
PIOS16 IOIS16
PWAIT WAIT
GPIOw RDY/BSY
DETO CD1
GPIOy
CD2
PCE0 SOCE0
CE0
PCE1
Au1xxx SOCE1
CE1
PCMCIA
Host S1CE0
CE0
Adapter
S1CE1
CE1
RAD26
WAIT
PWAIT
WAIT
0 IOIS16
PIOS16
1 IOIS16
RAD26
GPIOw RDY/BSY
GPIOx
DETO CD1
GPIOy CD2
DETO CD1
GPIOz
CD2
Tmih
PCE[1:0]
PREG
Tmsu Tmst
POE
Tmih
OE
PWE
PIOR
PIOW
PIOS16
PWAIT
RAD[31:0]
Tmih
PCE[1:0]
Tmst
POE
PWAIT
PREG
POE
Tmsu Tmst
PWE
PIOR
PIOW
PIOS16
PWAIT
RAD[31:0]
Tmih
PCE[1:0]
Tmst
PWE
PWAIT
PREG
POE
PWE
Tisu Tist
PIOR
PIOW
PIOS16
PWAIT
RAD[31:0]
Tmih
PCE[1:0]
Tist
PIOR
PWAIT
PREG
POE
PWE
PIOR
Tisu Tist
PIOW
PIOS16
PWAIT
RAD[31:0]
Tmih
PCE[1:0]
Tist
PIOW
PWAIT
Signal Function
RAD[31:0] O Address bus
RD[31:0] IO Data bus
RCS[3:0] O Chip Selects
LCLK O Interface Clock
LWAIT I Extend Cycle
LRD[1:0] O Read Indicators
Muxed with GP[201:200] which con-
trols the pins out of hardware reset,
runtime reset and sleep.
LWR[1:0] O Write Indicators
Muxed with GP[203:202] which con-
trols the pins out of hardware reset,
runtime reset and sleep.
RAD[31:0]
RCSn Ta Twch
LRD[1:0]
Tcsh
LWR[1:0] Twp
Tcsw
RD[31:0] input output
RCSn
Ta
LRD[1:0]
LWAIT
Twcs
RCSn
Twp
LWR[1:0]
LWAIT
The Au1100 contains an eight-channel DMA controller. Each channel is capable of transfer-
ring data between memory and any of 20 peripherals or between memory and a memory
mapped FIFO through the Static Controller using a GPIO as a request.
GPIO4 and GPIO5 can be programmed to act as external DMA request lines. See Section 4.2
for details.
KSEG0 Base
DMA Channel Base Address Priority
Address
dma0 0x0 1400 2000 0xB400 2000 0 (highest)
dma1 0x0 1400 2100 0xB400 2100 1
dma2 0x0 1400 2200 0xB400 2200 2
dma3 0x0 1400 2300 0xB400 2300 3
dma4 0x0 1400 2400 0xB400 2400 4
dma5 0x0 1400 2500 0xB400 2500 5
dma6 0x0 1400 2600 0xB400 2600 6
dma7 0x0 1400 2700 0xB400 2700 7 (lowest)
Table 19 shows the different peripherals that are capable of DMA. The Device ID, Transfer
Size and Transfer Width are configurable fields in the dma_mode register. The FIFO
address is a physical address whose address should be programmed in the dma_peraddr
register and in the DAH field if the dma_mode register.
Device FIFO
Device Transfer Transfer
Peripheral Device ID ID Size Width Physical
Select Address
UART 0 transmit 0 0 program- 8 0x0 1110 0004
mable
UART 0 receive 0 1 program- 8 0x0 1110 0000
mable
GP04 0 2 program- program- programmable
mable mable
GP05 0 3 program- program- programmable
mable mable
AC97 Transmit 0 4 4 16 0x0 1000 0008
AC97 Receive 0 5 4 16 0x0 1000 0008
UART3 transmit 0 6 program- 8 0x0 1140 0004
mable
Device FIFO
Device Transfer Transfer
Peripheral Device ID ID Size Width Physical
Select Address
UART3 receive 0 7 program- 8 0x0 1140 0000
mable
USB Device Endpoint 0 0 8 4 8 0x0 1020 0000
receive
USB Device Endpoint 0 0 9 4 8 0x0 1020 0004
transmit
USB Device Endpoint 2 0 10 4 8 0x0 1020 0008
transmit
USB Device Endpoint 3 0 11 4 8 0x0 1020 000c
transmit
USB Device Endpoint 4 0 12 4 8 0x0 1020 0010
receive
USB Device Endpoint 5 0 13 4 8 0x0 1020 0014
receive
For the I2S fifos the transfer width is programmable. It is the programmers responsibility to
insure that the Transfer Width field matches the word size in the I2S configuration register
and that memory is packed accordingly. See Section 6.6, "I2S Controller" for more informa-
tion.
For external DMA using GPIO signals as requests, it is the system designers responsibility to
insure that the Transfer Size and Device Width match the external FIFO and that memory is
packed accordingly.
dma_moderead - Read DMA Mode Register Offset = 0x0000
dma_modeset - Set DMA Mode Register Offset = 0x0000
dma_modeclr - Clear DMA Mode Register Offset = 0x0004
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
6 H Channel Halted R 0
0 - Channel is active.
1 - Channel is halted.
This bit should be used to determine if the channel
has been halted after the G bit has been cleared.
5 G Channel Go
Setting the channel go bit enables the channel.
When this bit is cleared the DMA controller will not
arbitrate for this channel regardless of the state of
the buffer enable bits. When the go bit is cleared by
the processor the channel configuration should not
be modified until the DMA controller sets the halt bit
to indicate that the channel is inactive.
4 AB Active Buffer R 0
0 - Buffer 0 is currently in use by the DMA.
1 - Buffer 1 is currently in use by the DMA.
This field can be read to determine what buffer the
DMA will service next if there is not a DMA transac-
tion in progress. During a DMA transaction this bit
will reflect the buffer currently being used.
It should be noted that the DMA will ping pong
between the two buffers. In other words, it is not
possible to only use one buffer, DMA transactions
must be alternated between each buffer.
3 D1 Done 1 R/W 0
The D1 bit is set by the DMA controller to indicate
that a transfer to or from buffer 1 is complete. This
bit must be cleared by the processor.
2 BE1 The BE1 bit enables buffer 1. This bit is set by the R/W 0
processor and cleared by the DMA controller when
the buffer has been filled or emptied. This bit may
be cleared by the processor only when the H bit is
set.
1 D0 Done 0 R/W 0
The D0 bit is set by the DMA controller to indicate
that a transfer to or from buffer 0 is complete. This
bit must be cleared by the processor.
0 BE0 The BE0 bit enables buffer 0. This bit is set by the R/W 0
processor and cleared by the DMA controller when
the buffer has been filled or emptied. This bit may
be cleared by the processor only when the H bit is
set.
31:0 ADDR Lower 32 bits of the physical starting address of the R/W 0
DMA memory buffer.
31:20 RES These bits are reserved and should be written a 0. R/W 0
There are two interrupt controllers in the Au1100. Each interrupt controller supports 32 inter-
rupt sources. Interrupts can generate a signal to bring the Au1100 out of an IDLE0 or IDLE1
state and generate a CPU interrupt.
Each interrupt controller has two outputs referred to as requests 0 and 1. Each of these out-
puts are connected to the CPU core. See Section 2.5, "Exceptions" for a complete Au1100
Interrupt architecture discussion. Table 20 shows the Interrupt controller connections to the
CPU.
Interrupt
Controller Source Type
Number
0 19 RTC Match 0 Rising Edge
0 20 RTC Match 1 Rising Edge
0 21 RTC Match 2 Rising Edge
0 22 IrDA transmit High Level
0 23 IrDA receive High Level
0 24 USB Device Interrupt High Level
Request
0 25 USB Device Suspend Inter- Rising/Falling
rupt edge
0 26 USB Host Low Level
0 27 AC97 ACSYNC Rising Edge
0 28 MAC 0 DMA Done High Level
0 29 GPIO 215:208 System Dep.
0 30 I2S High Level
0 31 AC97 Command Done Rising Edge
1 n = 0..15 GPIO[n] System Dep.
rising_edge_detect_n request1_int_n
Edge falling_edge_detect_n
Detection
CPU
Req 1
32 total
test_bit 0
Peripheral_n
(Controller 0) 1 High Level
GPIO_n
(Controller 1) 32 total
config2_n request0_int_n
Decision
config1_n Logic mask_n
config0_n
Register
Offset Type Register Description Default
Name
0x0040 ic_cfg0rd R Configuration 0 register UNPRED
0x0040 ic_cfg0set W Combined, Config2[n], Config1[n], and
Config0[n] specifies the interrupt n charac-
0x0044 ic_cfg0clr W teristics as shown in Table 24.
0x0048 ic_cfg1rd R Configuration 1 register UNPRED
0x0048 ic_cfg1set W Combined, Config2[n], Config1[n], and
Config0[n] specifies the interrupt n charac-
0x004C ic_cfg1clr W teristics as shown in Table 24.
0x0050 ic_cfg2rd R Configuration 2 register UNPRED
0x0050 ic_cfg2set W Combined, Config2[n], Config1[n], and
Config0[n] specifies the interrupt n charac-
0x0054 ic_cfg2clr W teristics as shown in Table 24.
0x0054 ic_req0int R Shows active interrupts on request 0. 0x0000 0000
This register is used by host to determine
source of interrupt.
0x0058 ic_srcrd R Controls the source of the interrupt between UNPRED
a test bit and the designated source.
0x0058 ic_srcset W
0 - test bit is used as interrupt source.
0x005C ic_srcclr W
1 - peripheral signal (controller 0) or GPIO
(controller 1) is used for interrupt source.
0x005C ic_req1int R Shows active interrupts on request 1. 0x0000 0000
This register is used by host to determine
source of interrupt.
0x0060 ic_assignrd R Assigns the interrupt to one of the CPU UNPRED
requests (the assignment is inverse to the
0x0060 ic_assignset W
value programmed).
0x0064 ic_assignclr W 0 - interrupt assigned to request 1
1 - interrupt assigned to request 0
Register
Offset Type Register Description Default
Name
0x0068 ic_wakerd R Controls whether the interrupt can cause a 0x0000 0000
wakeup from IDLE0 or IDLE1.
0x0068 ic_wakeset W
0 - no wakeup from idle
0x006C ic_wakeclr W
1 - interrupt will cause wakeup from idle.
The associated interrupt must still be
enabled to wake from idle.
0x0070 ic_maskrd R Enables/Disables the interrupt. 0x0000 0000
0x0070 ic_maskset W 0 - interrupt is disabled.
1 - interrupt is enabled.
0x0074 ic_maskclr W
0x0078 ic_risingrd R Designates active rising edge interrupts. If UNPRED
an interrupt is generated off of a rising edge,
0x0078 ic_risingclr W
the associated rising edge detection bit
must be cleared after detection.
0x007C ic_fallingrd R Designates active falling edge interrupts. If UNPRED
an interrupt is generated off of a falling
0x007C ic_fallingclr W
edge, the associated falling edge detection
bit must be cleared after detection.
0x0080 ic_testbit R/W This is a single bit register that is mapped to UNPRED
all the source select inputs for testing pur-
poses.
Certain registers in the list have the same offset but offer different functionality. This is by
design. Care should be taken when programming the registers as a read from one location
may reference something different from a write to the same location.
Registers ending in *rd, *set and *clr have the following functionality:
• *rd registers are read only registers will read back the current value of the register.
• *set registers are write only registers and will set to 1 all bits that are written 1.
Writing a value of 0 will have no impact on the corresponding bit.
• *clr registers are write only registers and will clear to zero all bits that are written 1.
Writing a value of 0 will have no impact on the corresponding bit.
The three configuration registers have a special functionality in that the value associated with
ic_cfg2[bit n], ic_cfg1[bit n], ic_cfg0[bit n] uniquely control interrupt n’s functionality as
shown in Table 24. In general ic_cfg2[n], ic_cfg1[n] and ic_cfg0[n] can be described as fol-
lows (Table 24 should be referred for exact functionality):
ic_cfg2[n] - Edge/Level select. When ic_cfg2[n] is low, ic_cfg1[n] and ic_cfg0[n] will
enable edge triggered interrupts. When ic_cfg2[n] is high, ic_cfg1[n] and ic_cfg0[n] will
enable level triggered interrupts. If ic_cfg2[n], ic_cfg1[n] and ic_cfg0[n] are all high then
both level and edge interrupts will be enabled
ic_cfg1[n] - Falling Edge/Low Level enable. Depending on how ic_cfg2[n] is set, ic_cfg1[n]
will enable falling edge or low level interrupts when set high.
This section provides descriptions of the peripheral devices of the Au1100. This includes an
AC97 controller, LCD controller, two SD controllers, USB Host and Device interfaces,
IRDA, one 10/100 Ethernet MAC, I2S, three UARTs and two synchronous serial interfaces.
Each peripheral contains an enable register. All other registers within each peripherals regis-
ter block should not be accessed until the enable register is written the correct sequence to
bring the peripheral out of reset. Accessing the the peripheral register block before a periph-
eral is enabled will result in undefined results.
1 SN Sync R/W 0
This bit controls the value of the SYNC signal
when SG is set to 1. In combination with SG,
the SN bit can be used to initiate a warm
reset.
0 RS AC-link Reset R/W 0
When the RST bit is set high this will drive the
ACRST signal of the AC-link low to initiate a
cold AC’97 reset. After satisfying the ACRST
low time for the CODEC this bit should be set
low to deassert ACRST.
8 RO Receive Overflow R 0
When set to 1, this bit indicates that the receive
FIFO has experienced an overflow. This sticky bit
will be cleared when read.
7 RD Ready R 0
This bit is mapped from the CODEC_READY bit in
the SDATA_IN tag word. It indicates that the
CODEC is properly booted and ready for normal
operation.
6 CP Command Pending R 0
This bit indicates that there is a command pending
on the AC-link. A write to the CODEC command
register will cause this bit to be set until the com-
mand is completed. The command is completed for
a write when the data has been written out on slot
2. The command is completed for a read request
when the status data has been read from the corre-
sponding read request. (This means that a read
request could be pending for more than 1 cycle
depending on the latency of the read.)
The command register should not be written until
the CP bit is clear.
An interrupt can be enabled to indicate when a
command is done. The source of this interrupt is an
internal pulse so either rising edge or falling edge
interrupt should be used for this interrupt.
5 RES Reserved R UNPRED
4 TE Transmit Empty R 0
When set this bit indicates that the transmit FIFO is
empty.
3 TF Transmit Full R 0
When set this bit indicates the transmit FIFO is full.
2 RES Reserved R UNPRED
1 RE Receive Empty R 0
When set this bit indicates that the receive FIFO is
empty.
0 RF Receive Full R 0
When set this bit indicates that the receive FIFO is
full.
TX/RX Data
The TX/RX Data register is the input to the transmit FIFO when written to and the output
from the receive FIFO when read from. Each FIFO is 12 words deep. Care should be taken to
monitor the status register to insure that there is room for data in the FIFO for a read or write
transaction. This will be taken care of automatically by using DMA.
The number of bits set in XMIT_SLOTS will correspond with how many samples are pulled
out of the FIFO and aligned in the respective slots. The number of bits set in RECV_SLOTS
will correspond with the number of samples placed in the FIFO from the respective slots in
SDATA_IN.
ac97_data - TX/RX Data Offset = 0x0008
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA_WORD[15:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
CODEC Command
The CODEC Command and Command Response registers share the same physical address.
The CODEC Command register is used to send read and write commands to the CODEC.
For write commands, the DATA field will be written to the register indicated by the INDEX
field. For read commands, the DATA field should be written zero. The value read from the
Read/
Bit(s) Name Description Default
Write
31:16 DATA DATA W 0
These bits will be the actual 16 bit word written to
the register indicated by INDEX if RW is a 0. If RW
is a 1 indicating a read, these bits should be written
0.
15:8 RES These bits are reserved and should be written 0. W 0
7 R/W Read/Write Bit (1=read, 0=write) W 0
This bit maps to the Read/Write bit in the command
address and designates whether the current opera-
tion will be a read or a write.
6:0 INDEX CODEC Register Index W 0
These bits will address the specific register to be
read or written to inside the CODEC.
AC97 Enable
The AC97 Enable register is used to enable and reset the entire AC97 Controller block.The
suggested power on reset would be to enable clocks with the block disabled. Then clear D for
run-time operation.
The correct routine for bringing the AC97 controller out of reset is as follows:
1. Set the CE bit to enable clocks.
Input/
Pin Name Output Definition
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
Input/
Pin Name Description
Output
USB (Host)
USBH1P IO Positive signal of differential USB host port
1 driver.
Requires 15k pulldown to be USB 1.1
compliant.
USBH1M IO Negative signal of differential USB host
port 1 driver.
Requires 15k pulldown to be USB 1.1
compliant.
USBH0P IO Positive signal of differential USB host port
0 driver
Requires 15k pulldown to be USB 1.1
compliant.
Muxed with USBDP which controls the pin
out of reset.
USBH0M IO Negative signal of differential USB host
port 0 driver
Requires 15k pulldown to be USB 1.1
compliant.
Muxed with USBDM which controls the pin
out of reset.
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
Table 31 shows the offsets of each register from the register base.
10:1 SZ The TSIZE field specifies the data size of an IN trans- R/W 0
fer. The TSIZE field is only relevant on endpoints 0, 2,
and 3.
0 FS Force Stall - Setting this bit will place the endpoint in a R/W 0
stalled condition. Any transaction directed to the end-
point will be answered with a STALL response. STALL
is typically used to indicate that the endpoint has
halted. Note that a Clear Feature command received
via the USB will not clear a stall condition forced by
this bit.
Input/
Pin Name Description
Output
USB (Device)
USBDP IO Positive signal of differential USB device
driver
Requires a 1,5k pullup to denote a full
speed device.
Muxed with USBH0P
USBDM IO Negative signal of differential USB device
driver
Muxed with USBH0M
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
6.4 IrDA
The IrDA (Infrared Data Association) peripheral is a serial device that uses an infrared serial
bus. Features of this peripheral are:
• FIR, MIR, and SIR modes supported
• Integrated physical layer (PHY) implementation - only an infrared transceiver is
needed.
• Integrated DMA for block transfer of packet data to/from memory
• Support for both Big Endian and Little Endian memory addressing
• 16-bit or 32-bit hardware CRC generation and detection
• Interrupt support on send and receive of buffer
The operating modes and standards supported are listed in Table 34.
This register defines general setup parameters for the IrDA controller.
ir_config1 - Infrared Configuration Register 1 Offset = 0x0020
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
EL IL TE RE ME RA TD CM FI MI SI SF ST TI RI
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
This register returns bit sequences for start-of-frame and end-of-frame of an IrDA packet.
ir_sirflags - Infrared SIR Flags Register Offset = 0x0024
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FS HS
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 0
This register defines general setup parameters for the IrDA controller.
ir_config2 - Infrared Configuration Register 2 Offset = 0x003C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IE FS DA DP CS P MI
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1
1. Set the CE bit to enable clocks with the HC, CA, and E bit set appropriately.
ir_enable - Infrared Enable Register Offset = 0x0040
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HC CE C E
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
6.4.3.1 Initialization
First the IrDA clock must be set to match the CS setting in the ir_config2 register. Please see
Section 7.1, "Clocks" for more information.
Second, enable peripheral logic by programming the ir_enable register: HC should be set to
1 for low power or if the system bus is greater than 100MHz, CE must be set to 1 to enable
the peripheral logic, C should be set to 1 for dcache to respond to irda accesses on the system
bus if it has the data, and E should be set for the appropriate endianess.
Next, the sys_pinfunc register bits must be set to the alternate (IrDA) function: IRF can
optionally be set to 1 to enable IrDA to drive the FIRSEL pin (this pin is not required if
external logic takes care of setting the transceiver speed). IRD must be set to 0 to enable data
transmission through the IRTXD pin.
Table 40, Table 41 and Table 42 show the ordered steps for programming the IrDA peripheral
for each mode.
Ring Buffers
The IrDA controller is designed to allow the CPU to access the IR media through a system of
“rings” set up in memory. Each ring entry corresponds to a LAN packet and stores informa-
tion and status about that packet as well as the physical address of where the data for that
packet is stored. The ring area is split into two areas: Transmit and Receive. The receive ring
starts at the Base Address location (specified by the contents of the ring base address regis-
ters) and the transmit ring starts at the Base Address + 512 bytes (decimal). Each ring entry
contains 8 bytes with a maximum of 64 ring entries in each of the transmit and/or receive
ring areas. The actual number used is programmed via the ir_ring_size register.
The format for each transmit ring entry is shows in Figure 25.
Bit: 7 6 5 4 3 2 1 0
Byte 0 COUNT[7:0]
Byte 1 COUNT[11:8]
Byte 2
Byte 3 O DC BC NP FU R UR
Byte 4 ADDR[7:0]
Byte 5 ADDR[15:8]
Byte 6 ADDR[23:16]
Byte 7 ADDR[31:24]
The format for each receive ring entry is described in Figure 26.
Bit: 7 6 5 4 3 2 1 0
Byte 0 COUNT[7:0]
Byte 1 COUNT[12:8]
Byte 2
Byte 3 O PE CE ML FO SE
Byte 4 ADDR[7:0]
Byte 5 ADDR[15:8]
Byte 6 ADDR[23:16]
Byte 7 ADDR[31:24]
On the transmit side the descriptors are set up and point to the data associated with them.
Each buffer has an ownership bit that tells the hardware it has been given control of that
buffer. When the hardware has finished with a buffer it will clear the ‘O’ bit. If polling this is
how software can tell whether a receive or transit is done. When using interrupts, when the
hardware is finished either transmitting or receiving an interrupt will be generated if they are
enabled in the ir_config2 register. See Chapter 5, Interrupt Controller.
Buffers are in a ring structure and are always accessed in sequence. Once the controller
reaches a buffer in which the ownership bit is not set, it will stop the chaining at that point
and will require the processor to "PROMPT" it to look at the buffer again and restart the
chaining.
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:0 MCH[31: Multicast Address Hash Table Low R/W 0x00000
0] These bits map to the lower 32 bits of the 64 bit 000
hash table.
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:16 RES These bits are reserved and should be written a 0. R 0
15:0 VL2TAG VLAN 2 Tag Identifier R/W 0xFFFF
This field will be compared with the 13th and 14th
bytes of the incoming frame. If a nonzero match
occurs the VLAN 2 Frame bit will be set in the
receiver status packet. In addition the legal length of
a frame is increased from 1518 bytes to 1538 bytes.
MAC0 Enable
MAC1 Enable
The enable register for each MAC contains a bit that enables the entire block. The block
should be disabled if not in use to minimize power consumption. In addition, each enable
register contains a TOSS bit which will keep frames that do not pass the address filter from
being put into memory.
The process for bringing the MAC out of reset is the following:
1. Enable Clocks.
2. Bring E[2:0] high together with the other bits configured as desired (keeping clocks
enabled).
It should be noted that the MAC clocks must be running before the internal MAC registers
are accessed.
Entry
Offset Entry Name
Prefix
0x000 tx0 Transmit Buffer 0
0x010 tx1 Transmit Buffer 1
0x020 tx2 Transmit Buffer 2
0x030 tx3 Transmit Buffer 3
0x100 rx0 Receive Buffer 0
0x110 rx1 Receive Buffer 1
0x120 rx2 Receive Buffer 2
0x130 rx3 Receive Buffer 3
Within each receive entry there are 2 registers implemented as shown in Table 46 (The third
and fourth reserved entries are shown for completeness but are not used).
Within each transmit entry, there are 3 registers implemented as shown in Table 47 (The
fourth reserved entry is shown for completeness but is not used).
Transmit Entry
Offset Description
Register Name
0x4 addr Address/enable register
0x8 len Length register
0xc Reserved Nothing is implemented at this offset
To calculate the address of a specific MAC DMA buffer all offsets should be combined. For
example the physical address of the MAC1 receive buffer 3 address register is
macdma1_rx3addr = mac1dma_base + rx3 + addr = 0x0 1400 4200 + 0x130 + 0x4
macdma1_rx3addr = 0x0 1400 4334
Another way to look at the DMA register addresses is to view them as built off of the base
address using an indexed approach to build the address for each unique register within the
block. In other words, each bit (or set of bits) within the address will select a parameter of the
DMA Register (TX/RX, Buffer number, Status/Address/Length register) until a unique
address is formed selecting a single register.
To build the address for a unique register the bits should be set according to the definitions in
Table 48.
AddrBit(s) Description
8 TX/RX
0 - Transmit Block
1 - Receive Block
7:6 These bits should be set to 0.
AddrBit(s) Description
5:4 MAC DMA Buffer
00 - Buffer 0
01 - Buffer 1
10 - Buffer 2
11 - Buffer 3
3:2 Register Select
00 - Status Register
01 - Address/Enable Register
10 - Length Register (valid for transmit only)
11 - Reserved
1:0 The registers are aligned on a word boundary, so these bits should
be set to 0.
Receive Status
This register contains the receive packet status bits sent by the MAC after receiving a frame.
This register is only valid after a receive transaction has been enabled by the host and the
done bit has been set by the MAC in the Address/Enable Register to indicate that the transac-
tion is complete.
The MI bit should be checked by software after receiving a frame to verify that the received
frame is valid.
macdmam_rxnstat offset = 0x0
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MI PF FF BF MF UC CF LE V2 V1 CR DB ME FT CS FL RF WT L[13:0]
Def. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Write Default
This register contains the length of the memory buffer in bytes to be transmitted.
macdmam_txnlen offset = 0x8
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
LEN[13:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Input/
Pin Name Output Description
Ethernet Controller 0
N0TXCLK I Continuous clock input for synchroniza-
tion of transmit data. 25 MHz when operat-
ing at 100-Mb/s and 2.5 MHz when
operating at 10-Mb/s.
N0TXEN O Active high. Indicates that the data nibble
on N0TXD[3:0] is valid.
Muxed with GP24 which controls the pin
out of hardware reset, runtime reset and
sleep.
N0TXD[3:0] O Nibble wide data bus synchronous to
N0TXCLK. For each N0TXCLK period in
which TX_EN is asserted, TXD[3:0] will
have the data to be accepted by the PHY.
While TX_EN is de-asserted the data pre-
sented on TXD[3:0] should be ignored.
Muxed with GP[28:25] which control the
pins out of hardware reset, runtime reset
and sleep.
N0RXCLK I Continuous clock that provides the timing
reference for the data transfer from the
PHY to the MAC. N0RXCLK is sourced by
the PHY. The N0RXCLK shall have a fre-
quency equal to 25% of the data rate of
the received signal data stream (typically
25 MHz at 100-Mb/s and 2.5 MHz at 10-
Mb/s).
N0RXDV I Active high. Indicates that a receive frame
is in process and that the data on
N0RXD[3:0] is valid.
Input/
Pin Name Description
Output
MAC1 shares its pins with GPIO[28:24]; those pins must be assigned to MAC1 in able to use
MAC1. Please see Section 7.3, Primary General Purpose I/O for more information.
6.5.3.2 Initialization
This section demonstrates the functional requirements for getting the MAC running. This is
assuming that the programmer has already performed the Au1100 bringup.
1. Interrupt Controller - a high level interrupt should be used as the interrupt is trig-
gered with an ORing of the DN (Done) bits.
2. DMA Controller Setup
3. MAC Registers - It is the system designer’s responsibility to set up addresses.
4. Memory - Depending on how the system is built, there could be a pool of memory
buffers which can be used for parsing and building of frames. Individual buffers
would be swapped in and out of the 4 active receive and transmit DMA buffers as
needed. This strategy would require some sort of minimal memory management
within the ethernet driver to insure chronology of ethernet frames.
The following is a transmit example in a very basic form. Typically this would be split
between an interrupt handler and another higher layer.
1. Construct Frame
2. Set length in macdmai_txnlen register
3. Set address of memory buffer and enable transmit. During this time the physical
memory buffer and address and length registers should not be disrupted or transmit
contents will be undefined.
4. Wait for done. This can be done by waiting for the interrupt handler or polling the
done signal in the macdmai_txnaddr register.
5. Read status (it’s validity is signaled by the reception of the done signal).
The Au1100 contains an I2S controller capable of interfacing with a CODEC or a discreet
DAC and ADC. The I2S interface works in two different modes: unidirectional data mode
and bidirectional data mode.
In unidirectional data mode the I2SDI signal is not used. In this mode the I2SDIO can be
configured as an input or an output and can be used with either an ADC or a DAC at any one
time.
In bidirectional mode the I2SDIO signal is configured as an output and used in conjunction
with I2SDI to interface the port to a CODEC or discreet ADC and DAC.
The port will only support one input at any one time. In other words, I2SDIO can not be
enabled as an input at the same time I2SDI is being used.
The I2S Interface is controlled by a register block whose physical base address is shown in
Table 50.
I2S Data
The I2S Data register is the input to the transmit FIFO when written to and the output from
the receive FIFO when read from. Each FIFO is 12 words deep.
Care should be taken to monitor the status register to insure that there is room for data for a
write or data in the FIFO for a read transaction.
The FIFO is for both the left and the right channels. For this reason data should be read from
and written to the FIFO in pairs. The programmer should insure that data is written to the
FIFO corresponding to how the Justification, Initial Channel, and Size is configured. If the
sample size being written or read is different than the size being configured, the programmer
should justify the data accordingly.
i2s_data - TX/RX Data Offset = 0x0000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA[23:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
The I2S Interface Configuration and Status register contains status bits for the transmit and
receive FIFOs, and configuration bits for the interface.
i2s_config - Configuration and Status Offset = 0x0004
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XU XO RU RO TR TE TF RR RE RF PD LB IC FM TN RN SZ
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:26 RES These bits are reserved and should be written a 0. R 0
25 XU Transmit Underflow R/W 0
When set to 1, this bit indicates that the transmit
FIFO has experienced an underflow. This sticky bit
will be cleared when read.
This bit can be written so care should be taken
when writing the configuration register that this bit
is masked if necessary.
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Write Default
I2S Enable
The I2S Block Control register is used to enable clocks to and reset the entire I2S block.
The suggested power on reset is as follows:
1. Set both CE and D
Read/
Bit(s) Name Description Default
Write
31:2 RES These bits are reserved and should be written 0. W 0
1 D DISABLE W 1
Setting this bit will disable the I2S block. After
enabling the clock with CE, this bit should be
cleared for normal operation.
0 CE Clock Enable W 0
This bit should be set to enable the clock driving the
I2S block. It can cleared to disable the clock for
power considerations.
Input/
Pin Name Output Description
Input/
Pin Name Description
Output
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
UART0 and UART3 are capable of being used with DMA. See Chapter 4, DMA Controller
for more information.
Table 56 provides trigger depth encoding information for the transmit FIFO.
Table 57 provides trigger depth encoding information for the receiver FIFO.
PAR Parity
0 Odd Parity
1 Even Parity
2 Mark Parity
3 Zero Parity
Output Wrapped
Signal Back To
TXD RXD
DTR DSR
RTS CTS
I0 RIN
I1 DCD
Uart Enable
The uart_enable register controls reset and clock enable to the UART
The correct routine for bringing the USB Device out of reset is as follows:
1. Set the CE bit to enable clocks.
Input/
Pin Name Output Definition
UART0
U0TXD O UART0 transmit
Muxed with GP212 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U0RXD I UART0 receive
UART1
U1TXD O UART1 transmit
Muxed with GP213 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U1RXD I UART1 receive
Input/
Pin Name Definition
Output
UART3
U3TXD O UART3 transmit
Muxed with GP214 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3RXD I UART3 receive
U3CTS I Clear to Send
Muxed with GPIO9 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3DSR I Data Set Ready
Muxed with GPIO10 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3DCD I Data Carrier Detect
Muxed with GPIO11 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3RI I Ring Indication
Muxed with GPIO12 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3RTS O Request to Send
Muxed with GPIO13 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
U3DTR O Data Terminal Ready
Muxed with GPIO14 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
6.8.1 Operation
The SSI generates the clock output SCLK. The clock is derived from the peripheral bus clock
by a divider controlled by the ssi_config register. The clock only transitions when a transac-
tion is in progress.
The SSI contains a status register that reflects the current state. A busy bit is set when a trans-
fer is initiated and cleared when SSI returns to idle. A done bit is set when the transfer is
complete. The done bit may be used to signal an interrupt.
SCLK
SDEN
SDOU D4
0 A0 A1 A2 D0 D1 D2 D3 D5 D6 D7
SCLK
SDEN
SDO 1 A0 A1 A2
SDIN D0 D1 D2 D3 D4 D5 D6 D7
BM Turnaround Behavior
0b00 SCLK held high during turnaround
0b01 SCLK held low during turnaround
0b10 SCLK cycle during turnaround
0b11 Reserved
Input/
Pin Name Definition
Output
SSI0
S0CLK O Master only clock output. The speed
and polarity of clock edge is pro-
grammable.
Muxed with GP209 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
S0DIN I Serial Data Input. This signal may be
tied with S0DOUT to create a single
bidirectional data signal.
S0DOUT O Serial Data Output. This signal is
tristated during a read and thus may
be tied to S0DIN to create a single
bidirectional data signal.
Muxed with GP208 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
S0DEN O Enable signal which frames transac-
tion. The polarity is programmable.
Muxed with GP210 which controls
the pin out of hardware reset, runt-
ime reset and sleep.
Input/
Pin Name Definition
Output
SSI1
S1CLK O Master only clock output. The speed
and polarity of clock edge is pro-
grammable.
Muxed with ACDO which controls
the pin out of hardware reset, runt-
ime reset and sleep.
S1DIN I Serial Data Input. This signal may be
tied with S0DOUT to create a single
bidirectional data signal.
Muxed with ACBCLK which controls
the pin out of hardware reset, runt-
ime reset and sleep.
S1DOUT O Serial Data Output. This signal is
tristated during a read and thus may
be tied to S0DIN to create a single
bidirectional data signal.
Muxed with ACSYNC which controls
the pin out of hardware reset, runt-
ime reset and sleep.
S1DEN O Enable signal which frames transac-
tion. The polarity is programmable.
Muxed with ACRST which controls
the pin out of hardware reset, runt-
ime reset and sleep.
For changing pin functionality please refer to the sys_pinfunc register in Section 7.3, "Pri-
mary General Purpose I/O".
Read/
Bit(s) Name Description Default
Write
31:16 RES Reserved R 0
20:18 SBPPF Sixteen Bits Per Pixel Data Format R/W 0
000 - 6 bits Red, 5 bits Green, 5 bits Blue
001 - 5 bits Red, 6 bits Green, 5 bits Blue
010 - 5 bits Red, 5 bits Green, 6 bits Blue
011 - 1 bit Intensity, 5 bits Red, 5 bits Green, 5
bits Blue
100 - 5 bits Red, 5 bits Green, 5 bits Blue, 1
bit Intensity
101, 110, 111 - Reseved
17 WP White Data Polarity R/W 0
This is the value which LCD_D[15:0] pins are
set to when WD bit is set high.
16 WD Enable White Data R/W 0
When this bit is high LCD_D[15:0] pins are set
to the value set in the White Data Polarity,
WP, bit. This bit is used during the startup and
shutdown sequence of some LCD panels.
This bit may be written at any time.
15 C Coherent R/W 0
1- LCD transactions are marked as coherent
on the system bus.
0 - LCD transactions are marked as non-
coherent on the system bus
Interrupt Registers
The Interrupt Status and Interrupt Enable registers have identical formats. If a bit is set in the
interrupt enable register and the corresponding condition becomes true then an interrupt will
be issued and the corresponding bit in the Interrupt Status register will be set. The interrupt
for the LCD Controller should be programmed as a high level type.
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:24 HN2 Horizontal Non Display Period 2 (in pixels) R/W 0
Value programmed is one pixel less than actual
value.
23:16 HN1 Horizontal Non Display Period 1 (in pixels) R/W 0
Value programmed is one pixel less than actual
value.
Read/
Bit(s) Name Description Default
Write
31:24 VN2 Vertical Non Display Period 2 (in lines) R/W 0
Value programmed is one line less than actual
value. This parameter is not used with STN panels.
23:16 VN1 Vertical Non Display Period 1 (in lines) R/W 0
Value programmed is one line less than actual
value.
15:10 VPW Vertical Sync Pulse Width (in lines) R/W 0
Value programmed is one line less than actual
value. This value is not used with STN panels.
9:0 LPP Lines Per Panel (in lines) R/W 0
Value programmed is one line less than actual
value.
The LCD Clock Control Register defines the parameters associated with the LCD pins.
lcd_clkcontrol - LCD Clock Control Offset = 0x0014
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IB IC IH IV BF PCD
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:5 SA0 Frame Buffer Start Address 0 R/W 0
This is a physical address and must be cache line
aligned.
4:0 RES These bits are reserved and must be set to 0. R/W 0
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:11 RES Reseved R 0
12 EN Enable R/W 0
1 : Enable PWM clocks
0 : Disable PWM clocks
11:0 PWMDIV PWM Frequency Divider R/W 0
Read/
Bit(s) Name Description Write Default
The 256 color pallette entries in the controller are read and written through the following 16
bit pallette interface registers mapped to offset range 0x0400 - 0x4FF. All register must be
accessed as words.
lcd_pallettebase MONOCHROME MODE Offset Mapped = 0x0400 - 0x04FF
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MI
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:16 RES Reserved R 0
15:0 DC 16 bit Direct True Color Value. The bit fields of this R/W 0
value are described by SBPPF.
Input/
Pin Name Definition
Output
Input/
Pin Name Definition
Output
Note: For TFT panels the R and B pin will be reversed if CCO bit is set.
LCD_LCLK
VNDP1 VNDP1
LCD_PCLK
L(0) L(1) L(2) L(y-1) L(0) L(1)
LCD_DATA
PCK
LCD_BIAS
LPP + VNDP1
FBIAS
LCD_FCLK
HNDP2
HNDP1
LCD_LCLK
LCD_PCLK
LCD_BIAS
HSPW
PCK
6.10.1 SD Registers
The SD controller has two block IDs (ID=0 and ID=1). Each are controlled by a register
block whose physical base address is shown in Table 70.
Read/
Bit(s) Name Description Default
Write
31:8 RES Reserved R 0
7:0 RXD Received Data R 0
Read/
Bit(s) Name Description Default
Write
31 SI Slot 0 device insertion interrupt enable R/W 0
30 CD Slot 0 card detect interrupt enable R/W 0
29 RA RX buffer almost full interrupt enable R/W 0
28 RF RX buffer full interrupt enable R/W 0
27 RH RX buffer at least half full interrupt enable R/W 0
SD Enable Register
The SD Enable register contains bits necessary to enable clocks to and reset the SD interface.
sd_enable - SD Enable Offset = 0x000C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
R CE
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:11 RES Reserved R 0
10 WP Write protect enable. This bit is set by soft- R/W 0
ware to prevent writing to the card.
9 RW Read wait enable. When this bit is set serial R/W 0
clock-based flow control is not used. This bit
is valid for SDIO mode only.
8 WB Wide bus transfer mode: R/W 0
0 - one wire data transfer
1 - four wire data transfer
7:5 RES Reserved R 0
Read/
Bit(s) Name Description Default
Write
31:25 RES Reserved R 0
24:16 BC Block I/O count. This field is used for a known R/W 0
number of SDIO read/write blocks.
15:11 RES Reserved R 0
10:0 BS Block size in bytes. The value programmed is R/W 0
one less than the actual number of bytes in
the block.
SD Status Register
The SD Status register reports pending interrupts and the cause of the interrupts. Each field
has a description of the interrupt type: level triggered (LT) or edge triggered (ET). To clear an
edge interrupt bit a ‘1’ must be written to the desired bit. This register also contains the CRC
status word resulting from a block write. Note: these bits are not masked by the correspond-
ing sd_config bits.
sd_status - SD Status Offset = 0x0018
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SI CD RA RF RH TA TE TH WC RC SC DT DD RA CR I RO RU TO TU NE CF DB CB DCRCW
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9:7 RES These bits are reserved and should be written R/W 0x0
with zero.
6 CF Clock freezing status: R 0
1 - normal clocking
0 - clock frozen (potential overrun/underrun)
5 DB SD data-response busy status R 0
SD Debug Register
The SD Debug register is used primarily for debugging the read and write pointers for both
transmit and receive FIFOs..
sd_debug - SD Debug Offset = 0x001C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RXR RXW TXR TXW
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
7 RES Reserved. R 0
3 RES Reserved. R 0
Read/
Bit(s) Name Description Default
Write
31:24 RES These bits are reserved and should be written R/W 0
a 0.
23:16 RT Response Type R/W 0
0000 - no response
0001 - R1 response (48 bits)
0010 - R2 response (136 bits)
0011 - R3 response (48 bits)
0110 - R6 resposne (48 bits)
1001 - R1b response (48 bits)
All other values are reserved.
15:8 CI Command Index R/W 0
7:4 CT Command Type - see Table 33 for valid R/W 0
encoding and descriptions.
3:2 RES These bits are reserved and should be written R/W 0
a 0.
1 RY Response Ready. R 0
This bit is set by the SD block once the com-
mand-response sequence is finished and
reset once sd_resp0 is read.
0 GO Command Go/Busy R/W 0
This bit is set to initiate a command. The bit is
reset once the last bit of the command argu-
ment is transmitted.
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:0 CARG Command argument. Must write this register R/W 0
first, then write sd_cmd[BY] to issue the com-
mand.
SD Response 3 Register
The SD Response 3 register contains the response from an issued command-response
sequence. Valid only when the response is of type 128 bit..
sd_resp3 - SD Response 3 Offset = 0x0028
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESP3
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
SD Response 2 Register
The SD Response 2 register contains the response from an issued command-response
sequence. Valid only when the response is of type 128 bit..
sd_resp2 - SD Response 2 Offset = 0x002C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESP2
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SD Response 1 Register
The SD Response 1 register contains the response from an issued command-response
sequence. Valid only when response size is of type 128 bits or (6 + 32) bits
sd_resp1 - SD Response 1 Offset = 0x0030
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESP1
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
SD Response 0 Register
The SD Response 0 register contains the response from an issued command-response
sequence.Valid for all modes where a response is expected.
sd_resp0 - SD Response 0 Offset = 0x0034
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
RESP0
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:21 RES Reserved. R 0
20:0 TMAX Maximum timeout value for NAC where: R/W 0
NAC = TAAC + NSAC (see SD specification)
Maximum timeout value is 81.02 ms. Counter
is based upon 25 MHz clock.
Input/
Pin Name Output Definition
Direction Register
The gpio2_dir register controls the direction of each GPIO2 signal. Note that this register
only controls the output enable for the output buffer. Clearing a bit in this register disables
the output for the corresponding pin making it possible to read an externally driven input.
Output enable control can also be used to emulate an open drain driver.
gpio2_dir - Direction Register Offset = 0x0000
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DIR
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Enable Register
The gpio2_enable register controls the clocks and reset to the secondary GPIO block.
gpio2_enable - Enable Register Offset = 0x0010
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
MR CE
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
The Au1100 contains a robust system control strategy that includes the means to control the
following:
• Clocking
• Time of Year and Real Time Clock counters
• GPIO control
• Power management
All registers in the system control block are located off of the base address shown in Table
76.
The registers in the system control block are affected differently by events such as power-on
hardware reset, sleep and runtime reset (see Chapter 8, Powerup, Reset and Boot for a dis-
cussion on the different reset types). Each register is documented with how it will be affected
by the different system states. Care should be taken by the system designer to observe what
registers will and will not revert to defaults when the different events occur.
SDRAM_BUS_CLK
/2
AUX_PLL CLOCK GENERATOR
IRDA/USBHOST/USBDEVICE
EXTCLK0
EXTCLK1
Register Reset
Offset Name Description Type
0x0020 sys_freqctrl0 Controls frequency generator 0 Hardware
through 2 divider and enable
0x0024 sys_freqctrl1 Controls frequency generator 3 Hardware
through 5 divider and enable
0x0028 sys_clksrc Controls source of the 6 derived Hardware
clocks
0x0060 sys_cpupll Changes CPU PLL frequency Hardware
0x0064 sys_auxpll Changes Auxiliary PLL frequency Hardware &
Runtime
EXTCLK0 shares a pin with GPIO2. If EXTCLK0 is to be used the EX0 bit in the
sys_pinfunc register must be set to allow the clock to drive this pin. In addition the CS bit in
the sys_pinfunc register must be cleared.
EXTCLK1 shares a pin with GPIO3. If EXTCLK1 is to be used the EX1 bit in the
sys_pinfunc register must be set to allow the clock to drive this pin.
AUX (FRDIVn + 1) * 2
1
FSn FEn
AUX
FREQ0
FREQ1
FREQ2 GPIO3 Clock EXTCLK1
FREQ3 Source Block
FREQ4
FREQ5
Frequency Control 0
This register controls the frequency generator block for output frequencies 0, 1, and 2.
This register will reset to defaults only on a hardware reset. During a runtime reset and dur-
ing sleep this register will retain its value.
sys_freqctrl0 Offset = 0x0020
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FRDIV2[7:0] FE2 FS2 FRDIV1[7:0] FE1 FS1 FRDIV0[7:0] FE0 FS0
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:30 RES These bits are reserved and should be written a 0. R 0
29:22 FRDIV2 Frequency Divider 2 R/W 0
These bits set the frequency divider.
The actual divide value is (FRDIV + 1) * 2.
21 FE2 Frequency Generator Output Enable 2 R/W 0
0 - Disable output
1 - Enable output
20 FS2 Frequency Generator Source 2 R/W 0
0 - CPU Core clock
1 - Auxiliary Clock Input
19:12 FRDIV1 Frequency Divider 1 R/W 0
These bits set the frequency divider.
The actual divide value is (FRDIV + 1) * 2.
11 FE1 Frequency Generator Output Enable 1 R/W 0
0 - Disable output
1 - Enable output
10 FS1 Frequency Generator Source 1 R/W 0
0 - CPU Core clock
1 - Auxiliary Clock Input
Frequency Control 1
This register controls the frequency generator block for output frequencies 3, 4, and 5.
This register will reset to defaults only on a hardware reset. During a runtime reset and dur-
ing sleep this register will retain its value.
sys_freqctrl1 Offset = 0x0024
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FRDIV5[7:0] FE5 FS5 FRDIV4[7:0] FE4 FS4 FRDIV3[7:0] FE3 FS3
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
The specific values written to the Clock Mux Input Select field are shown in Table 78. The
inputs to all CMn are shown in Figure 32. The FREQn selections come from the output of the
corresponding frequency generators.
Value Meaning
000b Reserved
001b Auxiliary Clock
010b FREQ0
011b FREQ1
100 FREQ2
101 FREQ3
110 FREQ4
111 FREQ5
Read/
Bit(s) Name Description Default
Write
31:6 RES These bits are reserved and should be R/W 0
written a 0.
5:0 PLL The PLL value determines the integer R/W 0x10
multiplier that is used to multiply the clock
coming from the oscillator.
For example, with the default of 16 and a
12MHz OSC frequency, the CPU fre-
quency will be 192MHz.
Only values from 16-46 are supported. All
other values are reserved.
These values represent the limits of the
CPU PLL and may place the actual CPU
frequency outside the limits of the Au1100.
GPIO8 Divide =
1
TRIMn + 1 0
Interrupt
Counter
32.768kHz
0 1 Comparators
BTn Interrupt
EO BP Match0
Match1
Interrupt
ENn
(Enable Programmable
Counter Block) Interrupt
Match2
Register Reset
Offset Description
Name Type
0x0000 sys_toytrim Trim value for 32.768kHz input to TOY Hardware
0x0004 sys_toywrite the TOY counter value is written through Hardware
this register
0x0008 sys_toymatch0 TOY match 0 value for interrupt generation Hardware
0x000C sys_toymatch1 TOY match 1 value for interrupt generation Hardware
0x0010 sys_toymatch2 TOY match 2 value for interrupt generation Hardware
0x0014 sys_cntrctrl Control register for TOY and RTC Hardware
0x0040 sys_toyread TOY counter value is read from this regis- Hardware
ter
0x0044 sys_rtctrim Trim value for 32.768kHz input to RTC Hardware
0x0048 sys_rtcwrite the RTC counter value is written through Hardware
this register
0x004C sys_rtcmatch0 RTC match 0 value for interrupt generation Hardware
0x0050 sys_rtcmatch1 RTC match 1 value for interrupt generation Hardware
0x0054 sys_rtcmatch2 RTC match 2 value for interrupt generation Hardware
0x0058 sys_rtcread RTC counter value is read from this regis- Hardware
ter.
Trim Register
The TOY Trim Write Status (bit 4 in the sys_cntrctrl) must be clear before writing
sys_toytrim. It will be set upon writing this register and cleared by hardware when the write
takes effect.
The RTC Trim Write Status (bit 20 in the sys_cntrctrl) must be clear before writing
sys_rtctrim. It will be set upon writing this register and cleared by hardware when the write
takes effect.
Read/
Bit(s) Name Description Write Default
Counter Write
The TOY Value Write Status (bit 0 in the sys_cntrctrl) must be clear before writing
sys_toytrim. It will be set upon writing this register and cleared by hardware when the write
takes effect.
The RTC Value Write Status (bit 16 in the sys_cntrctrl) must be clear before writing
sys_rtcwrite. It will be set upon writing this register and cleared by hardware when the write
takes effect.
This register is unpredictable at power on. During a runtime reset and during sleep this regis-
ter will retain its value.
sys_toywrite - TOY counter value write Offset = 0x0004
sys_rtcwrite - RTC counter value write Offset = 0x0048
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
COUNT[31:0]
Def. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
Read/
Bit(s) Name Description Default
Write
31:0 COUNT Counter Write W UNPRED
The respective counter will be
updated with the value written to this
register at the next trimmed clock.
Read/
Bit(s) Name Description Write Default
31:0 MATCH A match with the counter and the R/W UNPRED
value in this register will cause an
interrupt.
Read/
Bit(s) Name Description Default
Write
31:24 RES These bits are reserved and should R 0
be written a 0.
23 ERS REN (bit 13) write status. R 0
22:21 RES These bits are reserved and should R 0
be written a 0.
20 RTS sys_rtctrim Write Status R 0
19 RM2 sys_rtcmatch2 Write Status R 0
18 RM1 sys_rtcmatch1 Write Status R 0
17 RM0 sys_rtcmatch0 Write Status R 0
16 RS sys_rtcwrite Write Status R R
15 RES This bit is reserved and should be R 0
written a 0.
14 BP Bypass the 32.768k OSC R/W 0
0 - Select Oscillator Input
1 - GPIO8 will drive counters. This is
a test mode where GPIO8 can drive
the counters from an external source
or through software using the GPIO
controller.
13 REN Enable RTC R/W 0
0 - RTC is disabled
1 - RTC is enabled
12 BRT Bypass RTC Trim R/W 0
0 - normal operation
1 - The RTC is driven directly by the
32.768k clock, bypassing the trim.
Pin Function
This register will reset to its default state at hardware reset, runtime reset and sleep.
sys_pinfunc Offset = 0x002C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PC LCD CS USB U3 U1 SRC EX1 EX0 RF UR3 I2D I2S NI U0 RD A97 S0
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
sys_outputrd[n]
S-R
sys_outputset[n] GPIOn
S
Pin
R
sys_outputclr[n]
sys_pinstaterd[n]
sys_trioutrd[n]
R
sys_trioutclr[n]
S
S-R
The following table shows the GPIO control registers and the associated offsets from
sys_base. Certain offsets are shared have different functionality depending on whether the
access is a read or a write. The register descriptions detail the functionality of each register.
Bit n of a particular register should be associated with GPIO[n] for all registers except
sys_pininputen.
*rd
*set
*clr
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
FUNC[31:0]
Certain registers in the list have the same offset but offer different functionality depending on
whether a read or a write is being performed.
Registers ending in *rd, *set and *clr have the following functionality:
• *rd registers are read only registers will read back the current value of the register.
• *set registers are write only registers and will set to 1 all bits that are written 1.
Writing a value of 0 will have no impact on the corresponding bit.
• *clr registers are write only registers and will clear to zero all bits that are written 1.
Writing a value of 0 will have no impact on the corresponding bit.
Prepare to Sleep
Execute WAIT0 Execute WAIT1
- Flush Cache
- SDRAM Sleep
- Turn off Peripherals
- Enable Sleep Power IDLE0 IDLE1
- Set Sleep bit (Snoop) (No Snoop)
SLEEP
Wakeup Wakeup
Enabled Enabled
Interrupt Interrupt
Match2_0
or
GPIO[7:0] Yes Yes
Interrupt
Yes REBOOT
Power
Peripheral Management Power Management Strategy
Register
USB Host usbh_enable When the USB host is not in use the E bit can
be cleared to disable the host. The CE bit
should also be cleared to disable clocks to the
block.
USB Device usbd_enable When the USB device is not in use the E bit can
be cleared to disable the host. The CE bit
should also be cleared to disable clocks to the
block.
Ethernet MAC macen_mac[0] When this block is not being used then the bit
should be cleared to disable the MAC and the
CE bit should be cleared to gate clocks to the
MAC.
UART[3:0] uart_enable[3:0] When a UART is not being used the E bit should
be cleared to hold the part in reset and the CE
bit should be cleared to gate clocks from the
block.
SSI ssi_enable When the SSI is not being used the E bit should
be cleared to hold the part in reset and the CD
bit should be set to gate clocks from the block.
IRDA ir_enable The HC bit can be used to run the IRDA at half
the system bus. The CE should be disabled
when not using the IRDA to gate clocks from
this peripheral.
GPIO Controller tristate_state_set Although there is not a specific low power regis-
ter for the GPIOs, tristating all GPIOs not in use
will minimize the power used by the GPIOs
Power
Peripheral Management Power Management Strategy
Register
Programmable sys_cntrctrl If either counter is not being used then its
Counters (TOY and respective enable bit (EN0 or EN1) should be
RTC) left disabled. If both counters are not being used
then both bits should be disabled as well as the
oscillator
AC97 ac97_enable If the AC97 block is not in use then the D bit
should be used to disable the module and the
CE bit should be disabled to gate clocks from
the block
I2S i2s_enable If the I2S block is not in use then the E bit
should be used to place the part in reset and the
CE bit should be disabled to gate clocks from
the block
LCD Controller #### then the E bit should be used to place the
part in reset and the CE bit should be disabled
to gate clocks from the block
SD Controller [1:0] ### then the E[1:0] bits should be used to place
the part in reset and the CE bit should be dis-
abled to gate clocks from the block
Register Reset
Offset Description
Name Type
0x0018 sys_scratch0 User definable register will retain value Hardware
through sleep
0x001C sys_scratch1 User definable register will retain value Hardware
through sleep
0x0034 sys_wakemsk Sets which GPIO or whether TOY match Hardware
can cause sleep wakeup
0x0038 sys_endian Sets Big or Little Endian Hardware &
Runtime
0x003C sys_powerctrl Sets System Bus divider and powerup Mixed - see
time register
description
0x005C sys_wakesrc Gives source of sleep wakeup Hardware
0x0078 sys_slppwr Initiates power state for sleep mode Hardware
0x007C sys_sleep Initiates sleep mode Hardware
Scratch Registers
The Scratch registers are kept through sleep and are user definable.
The intention of these registers is to allow the system programmer to save state information
or a pointer to a context so that the previous context can be resumed when coming out of
sleep if desired.
This register will reset to defaults only on a hardware reset. During a runtime reset and dur-
ing sleep this register will retain its value.
sys_scratch0 Offset = 0x0018
sys_scratch1 Offset = 0x001C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SCRATCH[31:0]
Def. X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X
Read/
Bit(s) Name Description Write Default
Endianess Register
To change the endianess of the Au1100 is a three step process as follows:
1. Set Endianess bit in the sys_endian register
2. Read sys_endian register (this is required to ensure the final write to the CP0 regis-
ter will update the endian value).
3. Read the CP0 register Config0
Read/
Bit(s) Name Description Default
Write
31:1 RES These bits are reserved and should be written a 0. R UNPRED
0 EN Endianess R/W 0
0 - Big Endian
1 - Little Endian
Read/
Bit(s) Name Description Default
Write
31:4 RES These bits are reserved and should be written a 0. R 0
All bits in this register are set by hardware and cleared by any write to this register.
sys_wakesrc Offset = 0x005C
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
M20 GP7 GP6 GP5 GP4 GP3 GP2 GP1 GP0 SW IP
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
31:0 SP A write to this register will prepare the internal power W UNPRED
supply for going to sleep.
Read/
Bit(s) Name Description Default
Write
31:0 SL A write to this register will put system to sleep. W UNPRED
This section presents the powerup, hardware reset and runtime reset sequence for the
Au1100. In addition the boot vector is described.
VDDX
VDDY
Tvo
VDDXOK
Tpen
PWREN
Tvi
VDDI
VDDXOK
Trstl Tvxr
RESETIN
Tvro
RESETOUT
VDDXOK(asserted high)
PWREN(remains asserted)
Trof Tror
RESETOUT
8.4 Boot
The CPU will boot from KSEG1 address 0xBFC0 0000 which is translated to physical
address 0x1FC0 0000. The processor can be set to boot from the EJTAG probe through the
EJTAG port. Please see Chapter 9 for more information.
The system designer should set the ROMSEL and ROMSIZE pins appropriately so boot
width and ROM type will match that designated in Table 84 and have the start of the boot
code located at 0x1FC0 0000.
RCE0 is configured to be enabled for 0x1FC0 0000 at default when booting from a ROM
device. Please see Section 3.2, Static Bus Controller, for more information about the default
timing and size of the address enabled at reset.
SDCS0 is configured to be enabled for 0x1FC0 0000 at default when booting from a
SMROM device. Please see Section 3.1, SDRAM Memory Controller, for more information
about the default timing and size of the address enabled at reset.
The Au1100 implements EJTAG following the MIPS’ EJTAG 2.5 Specification. This section
presents the Au1100 EJTAG implementation while concentrating on those features imple-
mented from the EJTAG 2.5 specification which are implementation specific. In addition,
those features which have not been implemented or any differences in the Au1100 imple-
mentation of EJTAG from the rev 2.5 specification are also noted.
It is assumed that the EJTAG 2.5 specification will be referenced for implementation details
not covered here. If a particular bit is not implemented it can be assumed that the functional-
ity associated with the bit is not implemented or not applicable unless otherwise noted.
The following features comprise the EJTAG implementation on the Au1100:
• Extended instructions SDBBP and DERET
• Debug Exceptions
• Extended CP0 registers DEBUG, DEPC and DESAVE
• EJTAG Memory Range 0xFF200000 - 0xFF3FFFFF
• Instruction/Data Breakpoints through the watch exception (Au1100 specific)
• Processor Bus Breakpoints (from EJTAG 2.0)
• Memory Overlay (from EJTAG 2.0)
• EJTAG tap per IEEE1149.1
Register
Number Select Name Description
9 NS NoSSt R 0
0: Single step is implemented.
8 SS SSt R/W 0
Controls whether single-step feature is enabled:
0: No enable of single-step feature
1: Single-step feature enabled
7:6 RES These bits are reserved and should be written a 0. R 0
5 DI DINT R UNPRED
Indicates that a Debug Interrupt exception
occurred. This could be either a Processor Bus
Break (indicated by BS0 in the Processor Bus
Break Status Register) or EJTAG break. The BS0
bit should be checked to see what caused the
exception.
Cleared on exception in Debug Mode.
0: No Debug Interrupt exception
1: Debug Interrupt exception
4 RES This bit is reserved and should be written a 0. This R 0
bit is called DIB in the EJTAG 2.5 specification and
was not implemented.
3 RES This bit is reserved and should be written a 0. This R 0
bit is called DDBS in the EJTAG 2.5 specification
and was not implemented.
2 RES This bit is reserved and should be written a 0. This R 0
bit is called DDBL in the EJTAG 2.5 specification
and was not implemented.
1 DB DBp R UNPRED
Indicates that a Debug Breakpoint exception
occurred. Cleared on exception in Debug Mode.
0: No Debug Breakpoint exception
1: Debug Breakpoint exception
0 DS DSS R UNPRED
Indicates that a Debug Single Step exception
occurred. Cleared on exception in Debug Mode.
0: No debug single-step exception
1: Debug single-step exception
Read/
Bit(s) Name Description Write Default
3 NE NMIE R 1
1: Non-Maskable Interrupt is enable for non-debug
mode.
The NMI is not implemented in the Au1100 so this bit
has no applicability.
2 NP NMIPend R 0
0: no NMI pending
The NMI is not implemented in the Au1100 so this bit
has no applicability.
1 SR SRstE R 1
1: Soft reset is fully enabled.
Soft Reset is not implemented in the Au1100 so this
bit has no applicability.
0 PE ProbEn R Same
Indicates value of the ProbEn value in the ECR value as
ProbEN
register.
in ECR
0: No access should occur to dmseg
1: Probe services accesses to dmseg
Read/
Bit(s) Name Description Default
Write
31 RES These bits are reserved and should be written a 0. R 0
30 OLP 1: Memory overlay functionality is implemented for R 1
processor breaks.
29:28 RES These bits are reserved and should be written a 0 R 0
27:24 BCN Number of Processor Breaks R 1
1: One Channel has been implemented for the Pro-
cessor Bus Break.
This register contains the bits of the physical Processor Address Bus Break.
pab - Processor Address Bus Break Offset = 0x0300
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PAB[31:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:0 PAB Processor Address Bus Break 0. This index con- R UNPRED
tains the lower 32 bits of the physical address. In
combination with the high order address bits, these
bits make up the break address.
This register specifies the data value for the Processor Data Bus match.
pdb - Processor Data Bus Break Offset = 0x0304
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
PDB[31:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
Read/
Bit(s) Name Description Default
Write
31:8 LAM Address Mask R/W UNPRED
These bits specify the mask value for the 24 lower
bits of the Processor Address register
(PBA0[23..0]). Each bit corresponds to the same bit
in PBA0.
0: Address bit is not masked, address bit is com-
pared.
1: Address bit is masked, address bit is not com-
pared.
7 DC Data Store to Cached Area R/W UNPRED
This bit enables the comparison on Processor
Address and Data Bus for Data Store to the
Cached area.
0: Processor Address and Data is not compared for
storing data to the Cached area.
1: Processor Address and Data is compared for
storing data to the Cached area.
6 DU Data Store To Uncached Area R/W UNPRED
This bit enables the comparison on Processor
Address and Data Bus for Data Store to the
uncached area.
0: Processor Address and Data is not compared for
storing data into the un-cached area.
1: Processor Address and Data is compared for
storing data into the un-cached area.
This register specifies the high order address for the processor address bus break.
pha - Processor High Address Bus Break Offset = 0x0310
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HA[3:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
This register specifies the high order address mask for the processor address bus break.
pham - Processor High Address Mask Offset = 0x0314
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HAM[3:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
Hex
Instruction Function
Value
0x00 EXTEST Boundary Scan
0x01 IDCODE Selects ID Register
0x02 SAMPLE Boundary Scan Sample/Preload (IEEE
JTAG Instruction)
0x03 IMPCODE Selects Implementation Register
0x04 RES Reserved
0x05 RES This reserved register is for test mode HIZ -
Tristate all output pins and Select Bypass
register.
0x06 RES This reserved register is for test mode
CLAMP - IEEE Clamp pins and select
bypass register.
Hex
Instruction Function
Value
0x07 RES Reserved
0x08 ADDRESS Selects Address Register.
0x09 DATA Selects Data Register.
0x0A CONTROL Selects EJTAG Control Register.
0x0B ALL Selects the Address, Data and EJTAG Con-
trol registers.
0x0C EJTAGBOOT Makes the processor take a debug exception
after reset.
0x0D NORMALBOOT Makes the processor execute the reset han-
dler after reset.
0x0E- RES Reserved
0x1B
0x1C EJWATCH Selects Watch register
0x1D- RES Reserved
0x1E
0x1F BYPASS Bypass mode
Read/
Bit(s) Name Description Default
Write
31:28 VER Identifies the version of the device. R 0
27:12 PNUM Identifies the part number of the device. R 0x03E8
11:1 MANID Identifies the manufacturer ID code for the device. R 0x147
MANID[6:0] are derived from the last byte of the
JEDEC code with the parity bit discarded.
MANID[10:7] provides a binary count of the number
of bytes in the JEDEC code that contain the contin-
uation character (0x7F). When the number of con-
tinuations characters exceeds 15, these four bits
contain the modulo-16 count of the number of con-
tinuation characters.
0 RES This bit is reserved and should be written a 1. R 1
Implementation Register
The Implementation register is a 32-bit read-only register that identifies features imple-
mented in this EJTAG compliant processor, mainly those accessible from the TAP.
IMPCODE - Implementation TAP Instruction IMPCODE
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
VER R3 DI AS M16 ND M32
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Write Default
Data Register
The read/write Data register is used for opcode and data transfers during processor accesses.
The width of the Data register is 32 bits.
The value read in the Date register is valid only if a processor access for a write is pending, in
which case the data register holds the store value. The value written to the Data register is
only used if a processor access for a pending read is finished afterwards, in which case the
data value written is the value for the fetch or load. This behavior implies that the Data regis-
ter is not a memory location where a previously written value can be read afterwards.
DATA TAP Instruction DATA or ALL
Bit 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DATA[31:0]
Def. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Read/
Bit(s) Name Description Default
Write
31:0 DATA Data used by processor access R/W UNPRED
Address Register
The read-only Address register provides the address for a processor access. The width of the
register is 36 bits.
The value read in the register is valid if a processor access is pending, otherwise the value is
undefined. The two LSBs of the register are used with the Psz field from the EJTAG Control
register to indicate the size and data position of the pending processor access transfer. These
0: Byte
1: Halfword
2: Word
3: Triple
Read/
Bit(s) Name Description Default
Write
7:3 RES These bits are reserved and should be written a 0. R 0
2 RES These bits are reserved and should be written a 0. R 0
This bit is the Global Scan test bit.
1 RES These bits are reserved and should be written a 0. R 0
This bit is a Test Mode bit.
0 WATCH This bit controls the debug functionality of the CPU R/W 0
watch register.
0: normal Watch Exception Mode
1: Debug Watch Exception Mode
- Blocks writes to Watch register in non-debug
mode
- Watch Exception will become debug exceptions
with DEXCODE=23
- The PC will be saved in the DEPC (not in the EPC
as with a normal watch exception).
It should be noted that the Status, Cause, and EPC
will not be affected by a debug watch exception
when this bit is enabled.
Read/
Bit(s) Name Description Write Default
Input/
Pin Name Output Definition
Table 89 gives a description of all external signals on the Au1100. The signals have been
grouped by functionality. The signals that share a pin with multiple functionality are desig-
nated by a * appended to their name.
The type description can be decoded as follows:
I - Input
O - Output
IO - Bidirectional
Z - Tristatable
P - Power
G - Ground
RES - Reserved
The last columns represent default values during and coming out of Hardware Reset (HR),
Runtime Reset (RR), and Sleep (S). The values can be decoded as follows:
0 - driven low
1 - driven high
IN - Signal is an input
LV - driven at the last value before the reset
HIZ - Tristated
ON - Clock remains on
NC - Not Connected
NA - Defaults are not applicable because the alternate function of the pin controls the pin
coming out of reset.
Interface
Type Description HR RR S
Type
SDRAM Interface:
SDA[12:0] O Address Outputs: A0-A12 are sampled during the 0 LV LV
ACTIVE command (row-address A0-A12) and
READ/WRITE command to select one location out
of the memory array in the respective bank. The
address outputs also provide the opcode during a
LOAD MODE REGISTER command.
SDBA[1:0] O Bank Address Inputs: BA0 and BA1 define to which 0 LV LV
bank the ACTIVE, READ, WRITE or PRECHARGE
command is being applied.
Interface
Type Description HR RR S
Type
SDD[31:0] IO SDRAM data bus See HIZ HI
Hardware Reset Description: desc Z
. at
0 - after VDDXOK is asserted
left
tristated when VDDI is on and RESETIN is asserted
0 after hardware reset sequence is complete
SDQM[3:0] O Active Low Input/Output Mask: SDQM is an input 1 1 1
mask signal for write accesses and an output enable
signal for read accesses. SDQM0 masks SDD7:0,
SDQM1 masks SDD15:8, SDQM2 masks
SDD23:16, SDQM3 masks SDD31:24.
SDRAS O Active Low Command Output. SDRAS, SDCAS and 1 1 1
SDWE (along with SDCSn) define the command
being sent to the SDRAM rank.
SDCAS O Active Low Command Output. SDRAS, SDCAS and 1 1 1
SDWE (along with SDCSn) define the command
being sent to the SDRAM rank.
SDWE O Active Low Command Output. SDRAS, SDCAS 1 1 1
and SDWE (along with SDCSn) define the com-
mand being sent to the SDRAM rank.
SDCLK[2:0] O Clock output corresponding to each of the three chip 0 ON 0
selects. Clock speed is 1/2 system bus frequency
when corresponding SDCSn is set to SDRAM, 1/4
system bus frequency when corresponding SDCSn
is set to SMROM.
SDCS[2:0] O Active Low Programmable Chip selects 1 1 1
SDCKE O Clock enable for SDRAM 1 1 0
SMROMCKE O Synchronous Mask ROM Clock Enable. NA NA NA
This signal must be pulled high if the system is boot-
ing from SMROM.
Muxed with GPIO6. If ROMSEL and ROMSIZE are
configured to boot from Synchronous Mask ROM,
SMROMCKE will control the pin out of reset, else
GPIO6 will control the pin out of reset.
Interface
Type Description HR RR S
Type
RD[31:0] IO Data bus 0 LV LV
RBEN[3:0] O Active Low Byte Enable. RBEN0 corresponds to 1 1 1
RD7:0, RBEN1 corresponds to RD15:8, RBEN2 cor-
responds to RD23:16, RBEN3 corresponds to
RD31:24.
RWE O Write enable 1 1 1
ROE O Output enable 1 1 1
RCS[3:0] O Programmable Chip Selects. RCSn is not used 1 1 1
when configured as a PCMCIA device.
EWAIT I This active low input can be used to stretch the bus IN IN IN
access time when enabled. This input is not recog-
nized for chip selects configured as LCD or PCMCIA
as these buses have their own wait mechanisms.
PCMCIA
PREG O Active low register only access signal. NA NA NA
Muxed with GPIO204 which controls the pin out of
hardware reset, runtime reset and sleep.
PCE[1:0] O Card Enables (Active Low) NA NA NA
Muxed with GP[206:205] which controls the pins out
of hardware reset, runtime reset and sleep.
POE O Output enable 1 1 1
PWE O Write Enable NA NA NA
Muxed with GP207 which controls the pin out of
hardware reset, runtime reset and sleep.
PIOR O Read Cycle Indication 1 1 1
PIOW O Write Cycle Indication 1 1 1
PWAIT I Extend Cycle IN IN IN
PIOS16 I 16 bit port select IN IN IN
Interface
Type Description HR RR S
Type
LRD[1:0] O Read Indicators NA NA NA
Muxed with GP[201:200] which controls the pins out
of hardware reset, runtime reset and sleep.
LWR[1:0] O Write Indicators NA NA NA
Muxed with GP[203:202] which controls the pins out
of hardware reset, runtime reset and sleep.
USB (Host)
USBH1P IO Positive signal of differential USB host port 1 driver. IN IN IN
Requires 15k pulldown to be USB 1.1 compliant.
USBH1M IO Negative signal of differential USB host port 1 driver. IN IN IN
Requires 15k pulldown to be USB 1.1 compliant.
USBH0P IO Positive signal of differential USB host port 0 driver NA NA NA
Requires 15k pulldown to be USB 1.1 compliant.
Muxed with USBDP which controls the pin out of
hardware reset, runtime reset and sleep.
USBH0M IO Negative signal of differential USB host port 0 driver NA NA NA
Requires 15k pulldown to be USB 1.1 compliant.
Muxed with USBDP which controls the pin out of
hardware reset, runtime reset and sleep.
USB (Device)
USBDP IO Positive signal of differential USB device driver IN IN IN
Muxed with USBH1P.
USBDM IO Negative signal of differential USB device driver IN IN IN
Muxed with USBH1M.
SSI0
S0CLK O Master only clock output. The speed and polarity of NA NA NA
clock edge is programmable.
Muxed with GP209 which controls the pin out of
hardware reset, runtime reset and sleep.
S0DIN I Serial Data Input. This signal may be tied with IN IN IN
S0DOUT to create a single bidirectional data signal.
Interface
Type Description HR RR S
Type
S0DOUT O Serial Data Output. This signal is tristated during a NA NA NA
read and thus may be tied to S0DIN to create a sin-
gle bidirectional data signal.
Muxed with GP208 which controls the pin out of
hardware reset, runtime reset and sleep.
S0DEN O Enable signal which frames transaction. The polarity NA NA NA
is programmable.
Muxed with GP210 which controls the pin out of
hardware reset, runtime reset and sleep.
Interface
Type Description HR RR S
Type
SSI1
S1CLK O Master only clock output. The speed and polarity of NA NA NA
clock edge is programmable.
Muxed with ACDO which controls the pin out of
hardware reset, runtime reset and sleep.
S1DIN I Serial Data Input. This signal may be tied with NA NA NA
S0DOUT to create a single bidirectional data signal.
Muxed with ACBCLK which controls the pin out of
hardware reset, runtime reset and sleep.
S1DOUT O Serial Data Output. This signal is tristated during a NA NA NA
read and thus may be tied to S0DIN to create a sin-
gle bidirectional data signal.
Muxed with ACSYNC which controls the pin out of
hardware reset, runtime reset and sleep.
S1DEN O Enable signal which frames transaction. The polarity NA NA NA
is programmable.
Muxed with ACRST which controls the pin out of
hardware reset, runtime reset and sleep.
IrDA
IRDATX O Serial IrDA output NA NA NA
Muxed with GP211 which controls the pin out of
hardware reset, runtime reset and sleep.
IRDARX I Serial IrDA input IN IN IN
IRFIRSEL O Output which will signal at which speed the IrDA is NA NA NA
currently set. This signal is not necessary for IrDA
operation. This pin will be driven high when IrDA is
configured for FIR or MIR. This pin will be driven low
for SIR mode.
UART0
Interface
Type Description HR RR S
Type
U0TXD O UART0 transmit NA NA NA
Muxed with GP212 which controls the pin out of
hardware reset, runtime reset and sleep.
U0RXD I UART0 receive IN IN IN
UART1
U1TXD O UART1 transmit NA NA NA
Muxed with GP213 which controls the pin out of
hardware reset, runtime reset and sleep.
U1RXD I UART1 receive IN IN IN
UART3
U3TXD O UART3 transmit NA NA NA
Muxed with GP214 which controls the pin out of
hardware reset, runtime reset and sleep.
U3RXD I UART3 receive IN IN IN
U3CTS I Clear to Send NA NA NA
Muxed with GPIO9 which controls the pin out of
hardware reset, runtime reset and sleep.
U3DSR I Data Set Ready NA NA NA
Muxed with GPIO10 which controls the pin out of
hardware reset, runtime reset and sleep.
U3DCD I Data Carrier Detect NA NA NA
Muxed with GPIO11 which controls the pin out of
hardware reset, runtime reset and sleep.
U3RI I Ring Indication NA NA NA
Muxed with GPIO12 which controls the pin out of
hardware reset, runtime reset and sleep.
U3RTS O Request to Send NA NA NA
Muxed with GPIO13 which controls the pin out of
hardware reset, runtime reset and sleep.
U3DTR O Data Terminal Ready NA NA NA
Muxed with GPIO14 which controls the pin out of
hardware reset, runtime reset and sleep.
Interface
Type Description HR RR S
Type
Ethernet Controller 0
N0TXCLK I Continuous clock input for synchronization of trans- IN IN IN
mit data. 25 MHz when operating at 100-Mb/s and
2.5 MHz when operating at 10-Mb/s.
N0TXEN O Active high. Indicates that the data nibble on NA NA NA
N0TXD[3:0] is valid.
Muxed with GP24 which controls the pin out of hard-
ware reset, runtime reset and sleep.
N0TXD[3:0] O Nibble wide data bus synchronous to N0TXCLK. For NA NA NA
each N0TXCLK period in which TX_EN is asserted,
TXD[3:0] will have the data to be accepted by the
PHY. While TX_EN is de-asserted the data pre-
sented on TXD[3:0] should be ignored.
Muxed with GP[28:25] which control the pins out of
hardware reset, runtime reset and sleep.
N0RXCLK I Continuous clock that provides the timing reference IN IN IN
for the data transfer from the PHY to the MAC.
N0RXCLK is sourced by the PHY. The N0RXCLK
shall have a frequency equal to 25% of the data rate
of the received signal data stream (typically 25 MHz
at 100-Mb/s and 2.5 MHz at 10-Mb/s).
N0RXDV I Active high. Indicates that a receive frame is in pro- IN IN IN
cess and that the data on N0RXD[3:0] is valid.
N0RXD[3:0] I RXD[3:0] is a nibble wide data bus driven by the IN IN IN
PHY to the MAC synchronous with N0RXCLK. For
each N0RXCLK period in which N0RXDV is
asserted, RXD[3:0] will transfer four bits of recov-
ered data from the PHY to the MAC. While RX_DV
is de-asserted, RXD[3:0] will have no effect on the
MAC.
N0CRS I N0CRS shall be asserted by the PHY when either IN IN IN
transmit or receive medium is non idle. N0CRS shall
be deasserted by the PHY when both the transmit
and receive medium are idle. N0CRS is an asyn-
chronous input.
Interface
Type Description HR RR S
Type
N0COL I N0COL shall be asserted by the PHY upon detec- IN IN IN
tion of a collision on the medium, and shall remain
asserted while the collision condition persists.
N0COL is an asynchronous input. The N0COL sig-
nal is ignored by the MAC when operating in the full
duplex mode.
N0MDC O N0MDC is sourced by the MAC to the PHYas the NA NA NA
timing reference for transfer of information on the
N0MDIO signal. N0MDC is an aperiodic signal that
has no maximum high or low times. The minimum
high and low times for N0MDC will be 160 ns each,
and the minimum period for N0MDC will be 400 ns.
Muxed with GP215 which controls the pin out of
hardware reset, runtime reset and sleep.
N0MDIO IO N0MDIO is the bidirectional data signal between the 0 LV LV
MAC and the PHY that is clocked by N0MDC.
Interface
Type Description HR RR S
Type
External Clocks
EXTCLK[1:0] O General purpose clock outputs mapped from inter- NA NA NA
nal clock generator clocks 5 and 4.
Muxed with GPIO[3:2] which controls the pin out of
hardware reset, runtime reset and sleep.
Interface
Type Description HR RR S
Type
LCD Controller
LCD_PWM1 O Pulse Width Modulation Clock 1 0 0 0
LCD_PWM0 O Pulse Width Modulation Clock 0 0 0 0
LCD_BIAS O Bias Clock 0 0 0
LCD_FCK O Frame Clock 0 0 0
LCD_LCK O Line Clock 0 0 0
LCD_LEND O Line End 0 0 0
LCD_PCK O Pixel Clock 0 0 0
LCD_D[15:0] O LCD Data 0 0 0
Interface
Type Description HR RR S
Type
I2S
I2SCLK O Serial bit clock. 0 LV LV
Muxed with GPIO30
I2SWORD O Word clock typically configured to the sampling fre- 0 LV LV
quency (Fs).
Muxed with GPIO31
I2SDI O Serial data input which should be valid on the rising NA NA NA
edge of I2SCLK.
Muxed with GPIO8 which controls the pin out of
hardware reset, runtime reset and sleep.
I2SDIO IO Configurable as input or output. As input data 0 LV LV
should be presented on rising edge. As output, data
will be valid on rising edge.
Muxed with GPIO29
AC-Link
ACSYNC O Fixed rate sample sync 0 0 0
Muxed with S1DOUT
ACBCLK I Serial data clock. IN IN IN
Interface
Type Description HR RR S
Type
ACDO O TDM output stream 0 0 0
Muxed with S1CLK
ACDI I TDM input stream IN IN IN
ACRST O CODEC reset 0 0 0
Muxed with S1DEN
EJTAG
TRST I Asynchronous TAP reset IN IN IN
TDI I Test data input to the instruction or selected data IN IN IN
registers. This signal will be sampled on the rising
edge of TCK
TDO O Test data output from the instruction or data register. HIZ LV LV
This signal will transition on the falling edge (valid on
rising edge) of TCK
TMS I Control signal for TAP controller. This signal is sam- IN IN IN
pled on the wising edge of TCK.
TCK I Control clock for updating TAP controller and shift- IN IN IN
ing data through instruction or selected data regis-
ter.
Test
TC[3:0] I Test clock inputs (not used in typical application) IN IN IN
These pins should be pulled low for normal opera-
tion.
TESTEN I Test Enable (not used in typical applications) IN IN IN
This pin should be pulled low for normal operation.
RESERVED
RESVD[5:4] RES Reserved. IOZ IOZ IO
Z
RESVD[3] RES Reserved. I I I
RESVD[2:0] RES Reserved. IOZ IOZ IO
Z
GPIO
Interface
Type Description HR RR S
Type
GPIO[2:0] IOZ General Purpose IO HIZ HIZ HI
Z
GPIO[3:2] IOZ General Purpose IO HIZ HIZ HI
Muxed with EXTCLK[1:0] Z
Interface
Type Description HR RR S
Type
GPIO29 IOZ General Purpose IO HIZ HIZ HI
Muxed with I2SDIO Z
Interface
Type Description HR RR S
Type
GPIO212 IOZ General Purpose IO HIZ HIZ HI
Muxed with U0TXD Z
Power Management
PWR_EN O Active high power enable output. This signal is 0 1 0
intended to be used as the regulator enable for the
VDDI (core power).
VDDXOK I Active high input to signal that VDDX is stable. IN IN IN
Power/Ground
Interface
Type Description HR RR S
Type
VDDI P Internal core voltage.
VDDX P External I/O voltage.
VDDY P Individual External I/O voltage for SDRAM only.
VSEL I External SDRAM voltage type: IN IN IN
1 - 3.3V
0 - 2.5V
VSS G Ground
XPWR12 P 12MHz (typical) oscillator and PLL power.
This pin should be connected to VDDX through a 10
Ohm resistor. In addition a 22uF CAP in parallel with
a .01uF CAP should be placed from this pin to
XAGND12.
XAGND12 G 12MHz (typical) oscillator and PLL ground.
XPWR32 P 32.768kHz (typical) oscillator power.
This pin should be connected to VDDX through a 10
Ohm resistor. In addition a 22uF CAP in parallel with
a .01uF CAP should be placed from this pin to
XAGND32.
XAGND32 G 32.768kHz (typical) oscillator ground
This chapter provides the following electrical specifications for the Au1100:
• Absolute Maximum Ratings
• DC Parameters
• AC Parameters
• Crystal Specifications
This chapter contains preliminary information that is subject to full Au1100 characterization.
Paramet
Description Minimum Maximum Units
er
VDDI Core Voltage VSS - .5 1.2 Volts
VDDX I/O Voltage VSS - .5 3.6 Volts
VDDY I/O Voltage VSS - .5 3.6 Volts
XPWR12, Oscillator Voltage VSS - .5 3.6 Volts
XPWR32
Vin Voltage applied to any pin VSS - .5 VDDX + .5 Volts
Ts Storage Temperature -40 125 Deg. C
11.2 DC Parameters
Table 91 shows the DC parameters for the Au1100.
Unless otherwise designated all voltages are relative to VSS. The operating requirements for
VDDX and VDDI are given in the sections describing the DC characteristics for the different
operating frequencies. For the SDRAM interface any parameters specified as functions of
VDDX are assumed to be functions of VDDY unless noted otherwise.
11.3 AC Parameters
This chapter describes the AC parameters for I/O devices in the Au1100. Each class of output
has different capacitive loads. As the capacitance on the load increases the propagation delay
will increase. The capacitive load of all I/O other than the SDRAM interface is 50pF.
The timing of those signals which have synchronous relationships or have a defined require-
ment are given. The timing diagrams are shown to illustrate the timing only and should not
necessarily be interpreted as the functional timing of the port.
It is assumed that the timing and/or functionality of the protocol related to the port is adhered
to by the external system. The protocol timing is not necessarily presented here and the
appropriate section or specification should be referenced for complete functional timing
parameters.
Tsdclk
Tsdsu
SDCLK
SDCS[n], Tsdd
SDRAS,
SDCAS, SDWE,
SDBA[1:0],
SDA[12:0],
SDQM[3:0],
SDD[31:0]
(output)
Tsdh
SDD[31:0]
(input)
Trwsu
Trwd
RCS[n] Trsu
Trcd Trcd
RBE[3:0],
ROE,
RAD[31:0]
Trcd Trbd
burstsize[2:0]
Trwsu
RWE Trwd
Trod
RD[31:0]
(output),
EWAIT
Trh
RD[31:0]
(input)
Tlclk
Tssu
LCLK
Tpcd
All outputs
Tpdh
All inputs
Tpciclk
Tpsu
SDCLK
Tpcd
All outputs
Tpdh
All inputs
PCE[n]
Tpoed Tpcd
OE
Tpioh
PIOS16
PWAIT
Tph
RD[31:0]
(input)
Tlclk
LCLK
Tlcd Tlcd
RCS[n]
RAD[31:0],
RD[31:0]
Tlwsu
(output)
Tlwd
LWR[n]
Tlsu
LRD[n]
LWAIT
Tlh
RD[31:0]
(input)
Note: Both Ethernet MACs offer identical timing. The Nn prefix on each of the signals should be
taken as referring to MAC N0 or N1 with all timing relative to signals within the same MAC.
Teth
NnTXCLK
Ted
NnTXD[3:0], NnTXEN
Tesu
Teth
NnRXCLK
Teh
NnRXD[3:0], NnRXDV
Tmdc
Tmsu
NnMDC
Tmz Tmh
Tmdd
NnMDIO
Ta
NnCRS,
NnCOL
Tabc
Tasu
Tabl Tabh
ACBCLK
Tad
ACSYNC
Tad
ACDO
Tah
ACDI
Tacs
Tacsh
Tacsl
ACSYNC
Tmin
GPIO[n]
Note: Tec minimum is the greater of 25ns or 1/4 the period of the system bus clock.
TCK
Teh
TMS, TDI
Teco Tecz
TDO
Trstl
TRST
Table 106 provides the specification for the parallel resonant 32MHz crystal to be placed
between XTI32 and XTO32. Load capacitors for this oscillator are integrated into the
Au1100 so no external circuitry is required when using the specified crystal.
FIGURE 49.Package Dimensions: Bottom View (left) and Side View (right)
1 2 3 4 5 6 7
8 9 10 11 12 13 14
E GP03
(EXTCLK1)
GP06_F
(SROMCKE)
VSSX LCLK RD1 RD14 RD7
U N0TXCLK N0TXD2
(GP27)
N0TXEN
(GP24)
N0RXD1 I2SCLK ACBCLK ACRST
(GP30) (S1DIN) (S1DEN)
V GP21 N0TXD3
(GP28)
N0TXD1
(GP26)
IRFIRSEL
(GP15)
U1TXD
(GP213)
I2SWRD
(GP31)
ACSYNC
(S1DOUT)
W RESVD_0 N0MDC
(GP215)
N0COL N0RXCLK U3RTS N0RXD0 ACDO
(GP13) (S1CLK)
15 16 17 18 19 20
The Au1100 is a collection of several devices. The devices contain software visible registers
that are memory mapped. Table 110 contains the memory map for the Au1100 peripheral
devices and physical memory. The addresses are 36 bits wide.
TABLE 110.Basic Au1100 Physical Memory Map
Programming Tips
KSEG1 Physical
Register Address Address Reference
KSEG1 Physical
Register Reference
Address Address
mem_sttime2 0xB4001024 0x0 14001024
mem_staddr2 0xB4001028 0x0 14001028
mem_stcfg3 0xB4001030 0x0 14001030
mem_sttime3 0xB4001034 0x0 14001034
mem_staddr3 0xB4001038 0x0 14001038
KSEG1 Physical
Register Reference
Address Address
dma_peraddr 0xB4002208 0x0 14002208
dma_buf0addr 0xB400220c 0x0 1400220c
dma_buf0size 0xB4002210 0x0 14002210
dma_buf1addr 0xB4002214 0x0 14002214
dma_buf1size 0xB4002218 0x0 14002218
KSEG1 Physical
Register Reference
Address Address
dma_peraddr 0xB4002508 0x0 14002508
dma_buf0addr 0xB400250c 0x0 1400250c
dma_buf0size 0xB4002510 0x0 14002510
dma_buf1addr 0xB4002514 0x0 14002514
dma_buf1size 0xB4002518 0x0 14002518
KSEG1 Physical
Register Reference
Address Address
ic_cfg1rd 0xB0400048 0x0 10400048
ic_cfg1set 0xB0400048 0x0 10400048
ic_cfg1clr 0xB040004C 0x0 1040004C
ic_cfg2rd 0xB0400050 0x0 10400050
ic_cfg2set 0xB0400050 0x0 10400050
ic_cfg2clr 0xB0400054 0x0 10400054
ic_req0int 0xB0400054 0x0 10400054
ic_srcrd 0xB0400058 0x0 10400058
ic_srcset 0xB0400058 0x0 10400058
ic_srcclr 0xB040005C 0x0 1040005C
ic_req1int 0xB040005C 0x0 1040005C
ic_assignrd 0xB0400060 0x0 10400060
ic_assignset 0xB0400060 0x0 10400060
ic_assignclr 0xB0400064 0x0 10400064
ic_wakerd 0xB0400068 0x0 10400068
ic_wakeset 0xB040006C 0x0 1040006C
ic_wakeclr 0xB0400070 0x0 10400070
ic_maskrd 0xB0400070 0x0 10400070
ic_maskset 0xB0400074 0x0 10400074
ic_maskclr 0xB0400078 0x0 10400078
ic_risingrd 0xB0400078 0x0 10400078
ic_risingclr 0xB040007C 0x0 1040007C
ic_fallingrd 0xB040007C 0x0 1040007C
ic_fallingclr 0xB0400080 0x0 10400080
KSEG1 Physical
Register Reference
Address Address
ic_cfg1rd 0xB1800048 0x0 11800048
ic_cfg1set 0xB1800048 0x0 11800048
ic_cfg1clr 0xB180004C 0x0 1180004C
ic_cfg2rd 0xB1800050 0x0 11800050
ic_cfg2set 0xB1800050 0x0 11800050
ic_cfg2clr 0xB1800054 0x0 11800054
ic_req0int 0xB1800054 0x0 11800054
ic_srcrd 0xB1800058 0x0 11800058
ic_srcset 0xB1800058 0x0 11800058
ic_srcclr 0xB180005C 0x0 1180005C
ic_req1int 0xB180005C 0x0 1180005C
ic_assignrd 0xB1800060 0x0 11800060
ic_assignset 0xB1800060 0x0 11800060
ic_assignclr 0xB1800064 0x0 11800064
ic_wakerd 0xB1800068 0x0 11800068
ic_wakeset 0xB180006C 0x0 1180006C
ic_wakeclr 0xB1800070 0x0 11800070
ic_maskrd 0xB1800070 0x0 11800070
ic_maskset 0xB1800074 0x0 11800074
ic_maskclr 0xB1800078 0x0 11800078
ic_risingrd 0xB1800078 0x0 11800078
ic_risingclr 0xB180007C 0x0 1180007C
ic_fallingrd 0xB180007C 0x0 1180007C
ic_fallingclr 0xB1800080 0x0 11800080
KSEG1 Physical
Register Reference
Address Address
ac97_cmmd 0xB000000C 0x0 1000000C
ac97_cmmdresp 0xB000000C 0x0 1000000C
ac97_control 0xB0000010 0x0 10000010
KSEG1 Physical
Register Reference
Address Address
KSEG1 Physical
Register Reference
Address Address
KSEG1 Physical
Register Reference
Address Address
macdma1_tx1addr 0xB4004214 0x0 14004214
macdma1_tx1len 0xB4004218 0x0 14004218
macdma1_tx2stat 0xB4004220 0x0 14004220
macdma1_tx2addr 0xB4004224 0x0 14004224
macdma1_tx2len 0xB4004228 0x0 14004228
macdma1_tx3stat 0xB4004230 0x0 14004230
macdma1_tx3addr 0xB4004234 0x0 14004234
macdma1_tx3len 0xB4004238 0x0 14004238
macdma1_rx0stat 0xB4004300 0x0 14004300
macdma1_rx0addr 0xB4004304 0x0 14004304
macdma1_rx1stat 0xB4004310 0x0 14004310
macdma1_rx1addr 0xB4004314 0x0 14004314
macdma1_rx2stat 0xB4004320 0x0 14004320
macdma1_rx2addr 0xB4004324 0x0 14004324
macdma1_rx3stat 0xB4004330 0x0 14004330
macdma1_rx3addr 0xB4004334 0x0 14004334
SD Controller 0
sd_txport 0xB0600000 0x0 10600000
sd_rxport 0xB0600004 0x0 10600004
sd_config 0xB0600008 0x0 10600008
sd_enable 0xB060000C 0x0 1060000C
sd_config2 0xB0600010 0x0 10600010
sd_blksize 0xB0600014 0x0 10600014
sd_status 0xB0600018 0x0 10600018
sd_debug 0xB060001C 0x0 1060001C
sd_cmd 0xB0600020 0x0 10600020
sd_cmdarg 0xB0600024 0x0 10600024
sd_resp3 0xB0600028 0x0 10600028
KSEG1 Physical
Register Reference
Address Address
sd_resp2 0xB060002C 0x0 1060002C
sd_resp1 0xB0600030 0x0 10600030
sd_resp0 0xB0600034 0x0 10600034
sd_timeout 0xB0600038 0x0 10600038
SD Controller 1
sd_txport 0xB0680000 0x0 10680000
sd_rxport 0xB0680004 0x0 10680004
sd_config 0xB0680008 0x0 10680008
sd_enable 0xB068000C 0x0 1068000C
sd_config2 0xB0680010 0x0 10680010
sd_blksize 0xB0680014 0x0 10680014
sd_status 0xB0680018 0x0 10680018
sd_debug 0xB068001C 0x0 1068001C
sd_cmd 0xB0680020 0x0 10680020
sd_cmdarg 0xB0680024 0x0 10680024
sd_resp3 0xB0680028 0x0 10680028
sd_resp2 0xB068002C 0x0 1068002C
sd_resp1 0xB0680030 0x0 10680030
sd_resp0 0xB0680034 0x0 10680034
sd_timeout 0xB0680038 0x0 10680038
Section 6.6
I2S Controller
i2s_data 0xB1000000 0x0 11000000
i2s_config 0xB1000004 0x0 11000004
i2s_enable 0xB1000008 0x0 11000008
KSEG1 Physical
Register Reference
Address Address
uart_inten 0xB1100008 0x0 11100008
uart_intcause 0xB110000C 0x0 1110000C
uart_fifoctrl 0xB1100010 0x0 11100010
uart_linectrl 0xB1100014 0x0 11100014
uart_mdmctrl 0xB1100018 0x0 11100018
uart_linestat 0xB110001C 0x0 1110001C
uart_mdmstat 0xB1100020 0x0 11100020
uart_clkdiv 0xB1100028 0x0 11100028
uart_modctrl 0xB1100100 0x0 11100100
KSEG1 Physical
Register Reference
Address Address
uart_mdmctrl 0xB1400018 0x0 11400018
uart_linestat 0xB140001C 0x0 1140001C
uart_mdmstat 0xB1400020 0x0 11400020
uart_clkdiv 0xB1400028 0x0 11400028
uart_modctrl 0xB1400100 0x0 11400100
Secondary GPIO
gpio2_dir 0xB1700000 0x0 11700000
reserved 0xB1700004 0x0 11700004
gpio2_output 0xB1700008 0x0 11700008
gpio2_pinstate 0xB170000C 0x0 1170000C
gpio2_inten 0xB1700010 0x0 11700010
KSEG1 Physical
Register Reference
Address Address
gpio2_enable 0xB1700014 0x0 11700014
KSEG1 Physical
Register Reference
Address Address
sys_outputclr 0xB190010C 0x0 1190010C
sys_pinstaterd 0xB1900110 0x0 11900110
sys_pininputen 0xB1900110 0x0 11900110
LCD Controller
lcd_control 0xB5000000 0x0 15000000
lcd_intstatus 0xB5000004 0x0 15000004
lcd_intenable 0xB5000008 0x0 15000008
lcd_horztiming 0xB500000C 0x0 1500000C
lcd_verttiming 0xB5000010 0x0 15000010
lcd_clkcontrol 0xB5000014 0x0 15000014
lcd_dmaaddr0 0xB5000018 0x0 15000018
lcd_dmaaddr1 0xB500001C 0x0 1500001C
lcd_words 0xB5000020 0x0 15000020
lcd_pwmdiv 0xB5000024 0x0 15000024
lcd_pwmhi 0xB5000028 0x0 15000028
lcd_pallettebase 0xB5000400 0x0 15000400
W
website ii
Write Transactions 216