IP Library › Granted Patent US 10,628,172
Granted Patent B2
US 10,628,172 · App. 15/631,088 · Granted Apr 21, 2020

Systems and methods for using distributed universal serial bus (USB) host drivers

Inventors: Ameya Kulkarni (San Diego, CA); Andrew Cheung (Escondido, CA); Jay Yu Jae Choi (San Diego, CA); Daniel Hyongkyu Kim (San Diego, CA); Hemant Kumar (San Diego, CA); Vamsi Krishna Samavedam (San Diego, CA)
Assignee: Qualcomm Incorporated
G06F9/4411G06F1/3215G06F1/3253G06F1/3293G06F3/16G06F3/162G06F3/165G06F9/44G06F13/38G06F13/382H04L29/06183Y02D10/122Y02D10/151
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,628,172
App. No.
15/631,088
Granted
Apr 21, 2020
Kind
B2
Abstract

Systems and methods for using distributed Universal Serial Bus (USB) host drivers are disclosed. In one aspect, USB packet processing that was historically done on an application processor is moved to a distributed USB driver running in parallel on a low-power processor such as a digital signal processor (DSP). While a DSP is particularly contemplated, other processors may also be used. Further, a communication path is provided from the low-power processor to USB hardware that bypasses the application processor. Bypassing the application processor in this fashion allows the application processor to remain in a sleep mode for longer periods of time instead of processing digital data received from the low-power processor or the USB hardware. Further, by bypassing the application processor, latency is reduced, which improves the listener experience.

Claims (30)

1. A system on a chip, comprising:

a system bus;

Universal Serial Bus (USB) B) hardware;

a USB connector communicatively coupled to the USB hardware and configured to couple to an external digital USB peripheral;

an application processor communicatively coupled to the USB hardware through the system bus, the application processor comprising a USB host driver; and

an audio digital signal processor (DSP) communicatively coupled to the USB hardware through the system bus, the audio DSP comprising a second USB driver;

wherein the application processor is configured to enumerate and set up a USB endpoint through the USB hardware and the USB connector and pass data about the USB endpoint to the audio DSP such that the audio DSP may pass audio packets to the USB hardware.

2. The system on a chip of claim 1 , wherein the application processor is further configured to enter a low-power mode while the audio DSP passes the audio packets to the USB hardware.

3. A method of controlling a Universal Serial Bus (USB) endpoint, comprising:

enumerating a USB endpoint with a USB driver on an application processor;

receiving a request from a second USB driver on an audio digital signal processor (DSP) to enable or disable an audio data stream;

responsive to the request, enabling or disabling a selected audio interface using control endpoints and the USB driver on the application processor;

providing from the USB driver on the application processor to the second USB driver on the audio DSP a device descriptor; and

at the second USB driver, using the device descriptor passed from the USB driver to perform data transfers.

4. The method of claim 3 , further comprising responding to audio control data from the USB endpoint with the application processor.

5. The method of claim 3 , further comprising processing human interface device (HID) commands with the USB driver on the application processor.

6. The method of claim 5 , wherein processing the HID commands comprises processing volume up, volume down, play, pause, mute, unmute, and stop.

7. A system on a chip (SoC), comprising:

a system bus;

Universal Serial Bus (USB) B) hardware;

a USB connector communicatively coupled to the USB hardware and configured to couple to an external digital USB peripheral;

an application processor communicatively coupled to the USB hardware through the system bus, the application processor comprising a USB host driver; and

a second processor communicatively coupled to the USB hardware through the system bus, the second processor comprising a second USB driver;

wherein the application processor is configured to enumerate and set up a USB endpoint through the USB hardware and the USB connector and pass data about the USB endpoint to the second processor such that the second processor may pass digital packets to the USB hardware.

8. A method of controlling a Universal Serial Bus (USB) endpoint, comprising:

enumerating a USB endpoint with a USB driver on an application processor;

receiving a request from a second USB driver on a second processor to enable or disable a multimedia data stream;

responsive to the request, enabling or disabling a selected multimedia interface using control endpoints and the USB driver on the application processor;

providing, from the USB driver on the application processor to the second USB driver on the second processor, a device descriptor; and

at the second USB driver, using the device descriptor passed from the USB driver to perform data transfers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2017
From: KULKARNI, AMEYA; CHEUNG, ANDREW; CHOI, JAY YU JAE; KIM, DANIEL HYONGKYU; KUMAR, HEMANT; SAMAVEDAM, VAMSI KRISHNA
To: QUALCOMM INCORPORATED
Reel/Frame 043387/0294 →
Continuity (3)
Provisional Application 62355279 · Jun 27, 2016
Provisional Application 62514211 · Jun 2, 2017
Related Publication 20170371681A1 · Dec 28, 2017