CHAPTER 6 USB CONTROLLER
Preliminary User’s Manual S15543EJ1V0UM 347
6.6.3 Receive pool settings
USB Controller uses three receive pools.
Pool0 For EndPoint0 (Control) and EndPoint6 (Interrupt)
Pool1 For EndPoint2 (Isochronous)
Pool2 For EndPoint4 (Bulk)
The data in each of these three pools is written into the corresponding registers.
Pool0 USB Rx Pool0 Information Register (Address: 1000_1050H)
USB Rx Pool0 Address Register (Address: 1000_1054H)
Pool1 USB Rx Pool1 Information Register (Address: 1000_1058H)
USB Rx Pool1 Address Register (Address: 1000_105CH)
Pool2 USB Rx Pool2 Information Register (Address: 1000_1060H)
USB Rx Pool2 Address Register (Address: 1000_1064H)
The VR4120A can know the current status of each pool by reading these registers.
The VR4120A can write values only into the Alert field of three Information Registers above. Other filed must be set
using USB Command Register and USB Command Extension Register.
The VR4120A adds Buffer Directories to each pool by using the USB Command Register (Address: 1000_1040H)
and the USB Command Extension Register (Address: 1000_1044H).
To add Buffer Directories to a receive pool, the VR4120A performs the following processing.
(1) The VR4120A places the Buffer Directory to be added to the pool, and the buffer, in system memory.
When multiple Buffer Directories are to be added, they are linked in advance.
(2) The VR4120A sets the start address of the Buffer Directory to be added into the link pointer to the last
Buffer Directory in the list of dependent Buffer Directories in the pool.
(3) The VR4120A sets the start address of the Buffer Directory to be added into the USB Command
Extension Register (Address: 1000_1044H).
(4) The VR4120A sets the pool number and size of the Buffer Directory to be added into the USB Command
Register (Address: 1000_1040H).
Figure 6-15. Buffer Directory Addition Command
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Reserved
Command NOD
Reserved
USB Command Register (40H)
USB Command Extension Register (44H)
specifies Number of
Buffer Directory to
be added
specifies EndPoint Number
100: Pool0
101: Pool1
110: Pool2
31 16 15 0
Address
specifies start
address of Buffer
Directory to be
added
The operation of USB Controller varies with whether any unused Buffer Directories remain in the corresponding
pool when the Buffer Directory addition command is written into the USB Command Register.