Host Access Sequences
7-19
Host-Port Interface
7.4
Host Access Sequences
The host begins HPI accesses by performing the following tasks in the order
giving:
1) Initializing the HPIC register
2) Initializing the HPIA register
3) Writing data to or reading data from HPID register
Reading from or writing to HPID initiates an internal cycle that transfers the de-
sired data between the HPID register and the DMA auxiliary channel. Host ac-
cess of any HPI register requires two halfword accesses on the HPI bus: the
first with HHWIL low and the second with HHWIL high. Typically, the host does
not break the first halfword/second halfword (HHWIL low/high) sequence. If
this sequence is broken, data can be lost, and undesired operation can result.
The first halfword access may have to wait for a previous HPI request to finish.
Previous requests include HPID writes and prefetched HPID reads. Thus, the
HPI deasserts HRDY (drives HRDY high) until the HPI can begin this request.
The second halfword access always has HRDY active because all previous
accesses have been completed for the first halfword access.
7.4.1
Host Initialization of HPIC and HPIA
Before accessing data, the host must first initialize the HWOB bit of the HPIC
register and then HPIA (in this order, because HWOB affects the HPIA access).
After initializing HWOB, the host can write to HPIA with the correct halfword
alignment. Table 7–7 and Table 7–8 summarize the initialization sequence for
HWOB = 1 and HWOB = 0, respectively. In these examples, HPIA is set to
80001234h. In all these accesses, the HRDY bits in the HPIC register are set.
A question mark in these tables indicates that the value is unknown.
Table 7–7. Initialization of HWOB = 1 and HPIA
Value During Access
Value After Access
Event
HD
HBE[1:0]
HR/W
HCNTL[1:0]
HHWIL
HPIC
HPIA
HPID
Host writes HPIC
1st halfword
0001
xx
0
00
0
00090009
????????
????????
Host writes HPIC
2nd halfword
0001
xx
0
00
1
00090009
????????
????????
Host writes HPIA
1st halfword
1234
xx
0
01
0
00090009
????1234
????????
Host writes HPIA
2nd halfword
8000
xx
0
01
1
00090009
80001234
????????
Note:
A ? in this table indicates the value is unknown.