2.8.1 Byte Counter is Incorrect When Multipacket is Enabled and Data Pointer is Odd

When multipacket is enabled for an endpoint (MULTIPKT in EP[n].OUT.CTRL is '1'), the address in the corresponding Endpoint Data Pointer (EP[n].OUT.DATAPTR) register is odd, and an even number of bytes is received from the host in an OUT packet, the value in the corresponding Endpoint Byte Counter (EP[n].OUT.CNT) register will be one less than the number of bytes received.

Work Around

Use even addresses in the Endpoint Data Pointer (EP[n].OUT.DATAPTR) register (for example, 0x3000 rather than 0x3001). Alternatively, disable multipacket mode.

Affected Silicon Revisions

A3
X