ADVANCE
CYW43570
7.3 USB Interface
7.3.1 Features
The following USB interface features are supported:
■ USB Protocol, Revision 2.0, full-speed (12 Mbps) compliant including the hub
■ Optional hub compound device with up to three device cores internal to device
■ Bus or self-power, dynamic configuration for the hub
■ Global and selective suspend and resume with remote wakeup
■ Bluetooth HCI
■ HID and DFU
■ Integrated detach resistor
7.3.2 Operation
The CYW43570 can be configured to boot up as either a single USB peripheral or a USB hub with several USB peripherals attached.
As a single peripheral, the host detects a single USB Bluetooth device. In hub mode, the host detects a hub with one to three of the
ports already connected to USB devices (see Figure 14).
Figure 14. USB Compounded Device Configuration
Host
USB Compounded Device
Hub Controller
USB Device 1
HID Keyboard
USB Device 2
HID Mouse
USB Device 3
Bluetooth
Depending on the desired hub mode configuration, the CYW43570 can boot up showing the three ports connected to logical USB
devices internal to the CYW43570: a generic Bluetooth device, a mouse, and a keyboard. In this mode, the mouse and keyboard are
emulated devices, since they connect to real HID devices via a Bluetooth link. The Bluetooth link to these HID devices is hidden from
the USB host. To the host, the mouse and/or keyboard appear to be directly connected to the USB port.
The USB device, configuration, and string descriptors are fully programmable, allowing manufacturers to customize the descriptors,
including vendor and product IDs, the CYW43570 uses to identify itself on the USB port. To make custom USB descriptor information
available at boot time, stored it in external NVRAM.
Despite the mode of operation (single peripheral or hub), the Bluetooth device is configured to include the following interfaces:
Interface 0
Interface 1
Interface 2
Contains a Control endpoint (Endpoint 0x00) for HCI commands, a Bulk In Endpoint (Endpoint 0x82)
for receiving ACL data, a Bulk Out Endpoint (Endpoint 0x02) for transmitting ACL data, and an Interrupt
Endpoint (Endpoint 0x81) for HCI events.
Contains Isochronous In and Out endpoints (Endpoints 0x83 and 0x03) for SCO traffic. Several
alternate Interface 1 settings are available for reserving the proper bandwidth of isochronous data
(depending on the application).
Contains Bulk In and Bulk Out endpoints (Endpoints 0x84 and 0x04) used for proprietary testing and
debugging purposes. These endpoints can be ignored during normal operation.
Document Number: 002-15054 Rev. *I
Page 31 of 94