English
Language : 

CS4210 Datasheet, PDF (22/102 Pages) National Semiconductor (TI) – IEEE 1394 OHCI Controller
Operational Description (Continued)
3.3.2.5 CommandPtr
Software initializes CommandPtr.descriptorAddress to con-
tain the address of the first descriptor block that the
CS4210 accesses when software enables the context by
setting ContextControl.run. Software also initializes Com-
mandPtr.Z to indicate the number of descriptors in the first
descriptor block. Software only writes to this register when
both ContextControl.run and ContextControl.active are
zero. The CS4210’s behavior when this rule is violated is
undefined. Since the CS4210 utilizes the CommandPtr reg-
ister while processing a context, there is a set of guidelines
by which software may safely and deterministically read
CommandPtr. These guidelines are based on the Context-
Control bits as listed in Table 3-8 (X = don’t care).
If ContextControl.run is set and ContextControl.dead is not
set, then the contents of CommandPtr are only specified if
both ContextControl.active and ContextControl.wake are
clear. In this instance, CommandPtr.descriptorAddress
contains the address of a descriptor within the last descrip-
tor block that was executed. If ContextControl.run and Con-
textControl.dead are both set, then descriptorAddress
points to a descriptor within the descriptor block in which
an unrecoverable error occurred. Except for the case
where software initializes CommandPtr, the value of Com-
mandPtr.Z is undefined and Z may contain a value that is
implementation dependent. The value of CommandPtr is
undefined after a hardware or software reset of the
CS4210. When software sets ContextControl.run to 1 and
CommandPtr.Z contains an invalid value for the controller
and context, or if a Z value is invalid for a fetched descriptor
block in a running context, the CS4210: sets ContextCon-
trol.dead to 1 and sets ContextControl.event to
evt_unknown and will not process any descriptors in that
context.
Table 3-8. CommandPtr Read Values
ContextControl Bits
run
dead
active
wake CommandPtr.descriptor Address Value
0
0
0
X
A descriptor block address. Either last written or last executed.
0
0
1
X
Contents unspecified.
1
0
0
0
Refers to the descriptor block that contains the Z = 0 that caused the
CS4210 to set active to 0.
1
0
0
1
Contents unspecified.
1
0
1
0
Contents unspecified.
1
0
1
1
Contents unspecified.
1
1
0
X
Points to the descriptor block in which a fatal error occurred.
www.national.com
22
Revision 1.0