AT43301
7
Hub Controller
The Hub Controller of the AT43301 provides the mecha-
nism for the host to enumerate the hub and the AT43301 to
provide the host with its configuration information. It also
provides a mechanism for the host to monitor and control
the downstream ports.
The Hub Controller supports two endpoints, Endpoint0 and
Endpoint1.
The Hub Controller maintains a status register, Controller
Status Register, which reflects the AT43301’s current set-
tings. At power up, all bits in this register will be set to 0’s.
Endpoint 0
Endpoint 0 is the AT43301’s default endpoint used for enu-
meration of the hub and exchange of configuration informa-
tion and requests between the host and the AT43301.
Endpoint 0 supports control transfers.
The Hub Controller supports the following descriptors
through Endpoint 0: Device Descriptor, Configuration
Descriptor, Interface Descriptor, Endpoint Descriptor, and
Hub Descriptor. These descriptors are described in detail
elsewhere in this document. Standard USB Device
Requests and class-specific Hub Requests are also sup-
ported through Endpoint 0. There is no endpoint descriptor
for Endpoint0.
Endpoint 1
Endpoint1 is used by the Hub Controller to send status
change information to the host. This endpoint supports
interrupt transfers.
The Hub Controller samples the changes at the end of
every frame at time marker EOF2 in preparation for a
potential data transfer in the subsequent frame. The sam-
pled information is stored in a byte wide register, the Status
Change Register, using a bitmap scheme.
Each bit in the Status Change Register corresponds to one
port as shown below:
Table 4. Controller Status Register
Bit
Function
Value
Description
0
Hub configuration status
0
1
Set to 0 or 1 by a Set_Configuration Request
Hub is not currently configured
Hub is currently configured
1
Hub remote wakeup status
0
1
Set to 0 or 1 by ClearFeature or SetFeature request.
Default value is 0.
Hub is currently not enabled to request remote wakeup
Hub is currently enabled to request remote wakeup
2
Endpoint0 STALL status
0
1
Endpoint0 is not stalled
Endpoint0 is stalled
3
Endpoint1 STALL status
0
1
Endpoint1 is not stalled
Endpoint1 is stalled
Table 5. Status Change Register
Bit
Function
Value
Meaning
0
Hub status change
0
1
No change in status
Change in status detected
1
Port1 status change
0
1
No change in status
Change in status detected
2
Port2 status change
0
1
No change in status
Change in status detected
3
Port3 status change
0
1
No change in status
Change in status detected
4
Port4 status change
0
1
No change in status
Change in status detected
5-7
Reserved
000
Default values