IP Library Granted Patent US 7,802,038
Granted Patent B2
US 7,802,038 · App. 12/276,038 · Granted Sep 21, 2010

Communication steering for use in a multi-master shared resource system

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 7,802,038
App. No.
12/276,038
Granted
Sep 21, 2010
Kind
B2
Abstract

New approaches for providing communication between multiple masters ( 12, 14 ) and one or more shared resources ( 24, 30, 100 ) are needed. One example of a resource that may need to be shared is circuitry complying with the Universal Serial Bus (USB) standard ( 100 ). The USB specification defines the use of USB endpoints as data and control channels that reside in a USB device. In some cases it is desirable to have a certain number of endpoints controlled by one processor, and other endpoints controlled by a different processor, thus providing a shared control of all the endpoints. Circuitry ( 402, 417, 480 ) may be used to provide steering for additional signals such as interrupts. Other shared resources ( 24, 30 ) may use more centralized circuitry ( 36 ) to perform a steering function for additional signals.

Claims (51)

1. A data processing system, comprising:

a system bus;

a first bus master coupled to the system bus;

a second bus master coupled to the system bus; and

a resource coupled to the system bus and useable by the first bus master and the second bus master,

wherein the resource comprises:

endpoint storage circuitry comprising a plurality of endpoints, wherein each of the plurality of endpoints is allocatable to at least one of the first bus master and the second bus master, and wherein allocatability of each of the plurality of endpoints is programmable, and

wherein the resource further comprises:

a controller, coupled to the endpoint storage circuitry, the controller comprising:

interrupt steering resisters; and

interrupt steering logic, wherein the interrupt steering logic routes interrupts to a corresponding one of the first bus master and the second bus master based on steering information provided by the interrupt steering registers, and wherein the plurality of endpoints are allocated based on the interrupt steering registers,

steering logic for establishing a communication path between the resource and at least one of the first and second bus masters, wherein the communication path is determined by the programmable circuit in the resource, and

wherein no additional steering logic is required in the communication path between the resource and the at least one of the first and second bus masters; and

a conductor for transferring an additional signal, separate from the system bus, between the resource and the at least one of the first and second bus masters via the communication path.

2. The data processing system as in claim 1 , wherein for each of the plurality of endpoints, the interrupt steering registers indicate allocation to one of the first bus master and the second bus master.

3. The data processing system as in claim 1 , wherein the interrupt steering registers comprise an interrupt steering set register and an interrupt steering clear register.

4. The data processing system as in claim 3 , wherein the interrupt steering registers further comprise interrupt steering storage circuitry coupled to the interrupt steering set register and the interrupt steering clear register, the interrupt steering storage circuitry providing the steering information to the interrupt steering logic.

5. The data processing system as in claim 4 , wherein the interrupt steering storage circuitry comprises a plurality of set-reset latches.

6. A method, comprising:

providing a first bus master coupled to a system bus;

providing a second bus master coupled to the system bus;

providing a resource coupled to the system bus;

providing a programmable circuit in the resource, wherein the resource comprises:

endpoint storage circuitry comprising a plurality of endpoints,

wherein each of the plurality of endpoints is allocatable to at least one of the first bus master and the second bus master, and wherein allocatability of each of the plurality of endpoints is programmable, and wherein the programmable circuit further comprises:

interrupt steering registers, and

interrupt steering logic, wherein the interrupt steering logic routes interrupts to a corresponding one of the first bus master and the second bus master based on steering information provided by the interrupt steering registers, and wherein the plurality of endpoints are allocated based on the interrupt steering registers;

establishing a communication path between the resource and at least one of the first and second bus masters,

wherein the communication path is determined by the programmable circuit in the resource, and

wherein no additional steering logic is required in the communication path between the resource and the at least one of the first and second bus masters; and

transferring an additional signal, separate from the system bus, between the resource and the at least one of the first and second bus masters via the communication path.

7. The method as in claim 6 , wherein the additional signal comprises an interrupt signal.

8. The method as in claim 6 , wherein the additional signal comprises a DMA signal.

9. The method as in claim 6 , wherein the additional signal comprises a reset signal.

10. The method as in claim 6 , wherein the additional signal comprises a power control signal.

11. The method as in claim 6 , further comprising: allowing the first bus master to program a set register during a first bus cycle of the system bus; and allowing the second bus master to program a clear register during a second bus cycle of the system bus, wherein the second bus cycle is subsequent to the first bus cycle.

12. The method as in claim 6 , wherein the first bus master and the second bus master share control of the programmable circuit in the resource.

13. The method as in claim 6 , wherein transferring of the additional signal is not aborted because the resource is disowned by the first and second bus masters.

14. A data processing system, comprising:

a first bus master coupled to a system bus;

a second bus master coupled to the system bus;

a resource coupled to the system bus, the resource comprising:

a programmable circuit,

endpoint storage circuitry comprising a plurality of endpoints,

wherein each of the plurality of endpoints is allocatable to at least one of the first bus master and the second bus master, and wherein allocatability of each of the plurality of endpoints is programmable, and wherein the programmable circuit further comprises:

interrupt steering registers, and

interrupt steering logic, wherein the interrupt steering logic routes interrupts to a corresponding one of the first bus master and the second bus master based on steering information provided by the interrupt steering registers, and wherein the plurality of endpoints are allocated based on the interrupt steering registers; and

steering logic for establishing a communication path between the resource and at least one of the first and second bus masters,

wherein the communication path is determined by the programmable circuit in the resource, and

wherein no additional steering logic is required in the communication path between the resource and the at least one of the first and second bus masters; and

a conductor for transferring an additional signal, separate from the system bus, between the resource and the at least one of the first and second bus masters via the communication path.

Assignments (25)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033687/0336 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
SECURITY AGREEMENT Recorded Mar 12, 2009
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 022380/0409 →