![Texas Instruments AM1808 Technical Reference Manual Download Page 960](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_1094558960.webp)
Architecture
960
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Host Port Interface (HPI)
NOTE:
Note that you cannot preload a value into the DAT field before configuring the pin as an
output. This means that when switching the pin from input to output, the pin will initially drive
the last value input back out on the pin. Then the DAT bit can be written to change the value
on the pin. If the intermediate value between writing to DIR and writing to DAT will cause a
problem at the system level, it is suggested to use another general-purpose I/O pin on the
device.
21.2.5 Protocol Description
The HPI does not conform to any industry standard protocol.
21.2.6 Operation
21.2.6.1 Using the Address Registers
The HPI contains two 32-bit address registers: one for read operations (HPIAR) and one for write
operations (HPIAW). These roles are unchanging from the viewpoint of the HPI logic. The HPI DMA logic
gets the address from HPIAR when reading from processor resources (see
) and gets the
address from HPIAW when writing to processor resources (see
However, unlike the HPI logic, the host can choose how to interact with the two HPI address registers.
Using the DUALHPIA bit in the HPI control register (HPIC), the host determines whether HPIAR and
HPIAW act as a single 32-bit register (single-HPIA mode) or as two independent 32-bit registers (dual-
HPIA mode).
Note that the addresses loaded into the HPI address registers must be byte addresses, and must be 32-
bit word aligned (with the least-significant two bits equal to zero).
21.2.6.1.1 Single-HPIA Mode
When DUALHPIA = 0 in HPIC, HPIAR and HPIAW become a single HPI address register (HPIA) from the
perspective of the host. In this mode:
•
A host HPIA write cycle (UHPI_HCNTL[1:0] = 10b, UHPI_HR/W = 0) updates HPIAR and HPIAW with
the same value.
•
Both HPI address registers are incremented during autoincrement read/write cycles
(UHPI_HCNTL[1:0] = 01b).
•
An HPIA read cycle (UHPI_HCNTL[1:0] = 10b, UHPI_HR/W = 1) returns the content of HPIAR, which
should be identical to the content of HPIAW.
To maintain consistency between the contents of HPIAR and HPIAW, the host should always reinitialize
the HPI address registers after changing the state of the DUALHPIA bit. In addition, when DUALHPIA = 0,
the host must always reinitialize the HPI address registers when it changes the data direction (from an
HPID read cycle to an HPID write cycle, or conversely). Otherwise, the memory location accessed by the
HPI DMA logic might not be the location intended by the host.