37.15.2 Packet Size

Original offset 0x04 & 0x14

Name: PCKSIZE
Offset: 0x04
Reset: 0xXXXXXXX
Property: N/A

Bit 3130292827262524 
 AUTO_ZLPSIZE[2:0]MULTI_PACKET_SIZE[13:10] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset x00x0000 
Bit 2322212019181716 
 MULTI_PACKET_SIZE[9:2] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 15141312111098 
 MULTI_PACKET_SIZE[1:0]BYTE_COUNT[5:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 0x00000x 
Bit 76543210 
          
Access  
Reset  

Bit 31 – AUTO_ZLP Automatic Zero Length Packet

This bit defines the automatic Zero Length Packet mode of the pipe.

When enabled, the USB module will manage the ZLP handshake by hardware. This bit is for OUT pipes only. When disabled the handshake should be managed by firmware.

ValueDescription
0 Automatic Zero Length Packet is disabled.
1 Automatic Zero Length Packet is enabled.

Bits 30:28 – SIZE[2:0] Pipe size

These bits contains the size of the pipe.

Theses bits are cleared upon sending a USB reset.

SIZE[2:0] Description
0x0 8 Byte
0x1 16 Byte
0x2 32 Byte
0x3 64 Byte
0x4 128 Byte(1)
0x5 256 Byte(1)
0x6 512 Byte(1)
0x7 1024 Byte in HS mode(1)

1023 Byte in FS mode(1)

Note:
  1. For Isochronous pipe only.

Bits 27:14 – MULTI_PACKET_SIZE[13:0] Multi Packet IN or OUT size

These bits define the 14-bit value that is used for multi-packet transfers.

For IN pipes, MULTI_PACKET_SIZE holds the total number of bytes sent. MULTI_PACKET_SIZE should be written to zero when setting up a new transfer.

For OUT pipes, MULTI_PACKET_SIZE holds the total data size for the complete transfer. This value must be a multiple of the maximum packet size.

Bits 13:8 – BYTE_COUNT[5:0] Byte Count

These bits define the 14-bit value that contains number of bytes sent in the last OUT or SETUP transaction for an OUT pipe, or of the number of bytes to be received in the next IN transaction for an input pipe.