Data Sheet
Copyright © Bridgetek Pte Ltd 36
BT81X (815/6) Advanced Embedded Video Engine Datasheet
Version 1.0
Document No.: BRT_000220 Clearance No.: BRT#126
communicating with the touch controller, fetching the touch data when reported, and writing the touch
data to the BT815 for touch TAG lookup and reporting.
The touch host mode can be entered by setting bit 14 in register REG_TOUCH_CONFIG and resetting the
touch engine:
- Hold the touch engine in reset (set REG_CPURESET = 2)
- Write 1 to bit 14 in REG_TOUCH_CONFIG (set REG_TOUCH_CONFIG = 0x4000)
- Release the touch engine reset (set REG_CPURESET = 0)
Figure 4-11 Touch Host Mode Connections
In touch host mode, the host supplies touch information via four registers:
BT815
address
Register Name
Bits
Description
0x30210c
REG_EHOST_TOUCH_X
Unsigned
16-bit
Touch x coordinate
0x302118
REG_EHOST_TOUCH_Y
Unsigned
16-bit
Touch y coordinate
0x302114
REG_EHOST_TOUCH_ID
4-bit
Touch ID / phase
0x302170
REG_EHOST_TOUCH_ACK
4-bit
Acknowledgement
Table 4-19 Registers for Touch Host Mode
The host writes raw (x; y) coordinates and IDs to the above registers. Up to 5 touches can be set, using
touch IDs 0-4. The host indicates no touch by supplying coordinates (0x8000; 0x8000). When the host
writes 0xf to the ID register, BT815 sets the ACK register to 0, transforms all the raw coordinates, and
writes the results to the regular touch registers.
Pseudocode:
wait until REG_EHOST_TOUCH_ACK is 1
for each touch:
write x coordinate to REG_EHOST_TOUCH_X
write y coordinate to REG_EHOST_TOUCH_Y
write id to REG_EHOST_TOUCH_ID
write 0xf to REG_EHOST_TOUCH_ID
As soon as BT815 has converted the coordinates, it writes 1 to the ACK register and sets the INT_CONV
_COMPLETE interrupt flag.