User's Manual

Table Of Contents
S3C2450X RISC MICROPROCESSOR HSMMC CONTROLLER
21-71
5.33 ADMA ERROR STATUS REGISTER
When ADMA Error Interrupt is occurred, the ADMA Error States field in this register holds the ADMA state and
the ADMA System
Address Register holds the address around the error descriptor. For recovering the error, the
Host Driver requires the ADMA state to identify the error descriptor address as follows:
ST_STOP: Previous location set in the ADMA System Address register is the error descriptor address
ST_FDS: Current location set in the ADMA System Address register is the error descriptor address
ST_CADR: This sate is never set because do not generate ADMA error in this state.
ST_TFR: Previous location set in the ADMA System Address register is the error descriptor address
In case of write operation, the Host Driver should use ACMD22 to get the number of written block rather than
using this information, since unwritten data may exist in the Host Controller.
The Host Controller generates the ADMA Error Interrupt when it detects invalid descriptor data (Valid=0) at the
ST_FDS state. In this case, ADMA Error State indicates that an error occurs at ST_FDS state. The Host Driver
may find that the Valid bit is not set in the error descriptor.
Register Address R/W Description Reset Value
ADMAERR0 0X4AC00054 R/W ADMA Error Status Register (Channel 0) 0x00
ADMAERR1 0X4A800054 R/W ADMA Error Status Register (Channel 1) 0x00
Name Bit Description Initial Value
[31:11] Reserved 0x00
[10]
ADMA Final Block Transferred (ROC)
In ADMA operation mode, this field is set to High when the Transfer
Complete condition and the block is final (no block transfer remains).
If this bit is Low when the Transfer Complete condition, Transfer Complete
is done due to the Stop at Block Gap, so data to be transferred still
remains.
0
[9]
ADMA Continue Request (WO)
When the stop state by ADMA Interrupt, ADMA operation continues by
setting this bit to HIGH.
0
[8]
ADMA Interrupt Status (RW1C)
This bit is set to HIGH when INT attribute in the ADMA Descriptor Table is
asserted. This bit is not affected by ADMA error interrupt.
0
[7:3] Reserved 0
[2]
ADMA Length Mismatch Error
This error occurs in the following 2 cases.
(1) While Block Count Enable being set, the total data length specified by
the Descriptor table is different from that specified by the Block Count and
Block Length.
(2) Total data length can not be divided by the block length.
0 = No Error
1 = Error
00