40.8 UDPHS Endpoint Configuration Register

Name: UDPHS_EPTCFGx
Offset: 0x0100 + x*0x20 [x=0..15]
Reset: 0x00000000
Property: Read/Write

Bit 3130292827262524 
 EPT_MAPD        
Access R/W 
Reset 0 
Bit 2322212019181716 
          
Access  
Reset  
Bit 15141312111098 
       NB_TRANS[1:0] 
Access R/WR/W 
Reset 00 
Bit 76543210 
 BK_NUMBER[1:0]EPT_TYPE[1:0]EPT_DIREPT_SIZE[2:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 31 – EPT_MAPD Endpoint Mapped (cleared upon USB reset)

ValueDescription
0

The user should reprogram the register with correct values.

1

Set by hardware when the endpoint size (EPT_SIZE) and the number of banks (BK_NUMBER) are correct regarding:

– The max endpoint size for this endpoint

– The number of allowed banks for this endpoint

– The number of endpoints/banks already allocated

– The FIFO max capacity (FIFO_MAX_SIZE in UDPHS_IPFEATURES register)

Bits 9:8 – NB_TRANS[1:0] Number Of Transactions per Microframe (cleared upon USB reset)

The number of transactions per microframe is set by software.

Note: Meaningful for high bandwidth isochronous endpoint only.

Bits 7:6 – BK_NUMBER[1:0] Number of Banks (cleared upon USB reset)

Set this field according to the endpoint’s number of banks (see Endpoint Configuration).

ValueNameDescription
0 0

Zero bank, the endpoint is not mapped in memory

1 1

One bank (bank 0)

2 2

Double bank (Ping-Pong: bank0/bank1)

3 3

Triple bank (bank0/bank1/bank2)

Bits 5:4 – EPT_TYPE[1:0] Endpoint Type (cleared upon USB reset)

Set this field according to the endpoint type (see Endpoint Configuration).

(Endpoint 0 should always be configured as control).

ValueNameDescription
0 CTRL8

Control endpoint

1 ISO

Isochronous endpoint

2 BULK

Bulk endpoint

3 INT

Interrupt endpoint

Bit 3 – EPT_DIR Endpoint Direction (cleared upon USB reset)

For Control endpoints this bit has no effect and should be left at zero.

ValueDescription
0

Clear this bit to configure OUT direction for Bulk, Interrupt and Isochronous endpoints.

1

Set this bit to configure IN direction for Bulk, Interrupt and Isochronous endpoints.

Bits 2:0 – EPT_SIZE[2:0] Endpoint Size (cleared upon USB reset)

Set this field according to the endpoint size in bytes (see Endpoint Configuration). Note that 1024 bytes is only for isochronous endpoints.

ValueNameDescription
0 8

8 bytes

1 16

16 bytes

2 32

32 bytes

3 64

64 bytes

4 128

128 bytes

5 256

256 bytes

6 512

512 bytes

7 1024

1024 bytes