IP Library Granted Patent US 10,467,154
Granted Patent B2
US 10,467,154 · App. 15/864,871 · Granted Nov 5, 2019

Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus

Inventors: Lalan Jee Mishra (San Diego, CA); Richard Dominic Wietfeldt (San Diego, CA); Christopher Kong Yee Chun (Austin, TX); Mohit Prasad (San Diego, CA); Chris Rosolowski (Encinitas, CA)
Assignee: QUALCOMM Incorporated
G06F13/126G06F13/364G06F13/404G06F13/4282G06F15/7817
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,467,154
App. No.
15/864,871
Granted
Nov 5, 2019
Kind
B2
Abstract

Systems, methods, and apparatus for communication virtualized general-purpose input/output signals over a serial communication link A method performed at a transmitting device coupled to a communication link includes configuring general-purpose input/output (GPIO) state from a plurality of sources into a virtual general-purpose input/output word, identifying one or more destinations for the first GPIO word based on a mapping of the GPIO state to one or more devices coupled to a serial bus, and transmitting the first GPIO word to each destination.

Claims (79)

1. A method performed at a transmitting device, comprising:

configuring general purpose input/output (GPIO) state from a plurality of sources into a virtual GPIO (VGI) word;

identifying one or more destinations for the VGI word based on a mapping of the GPIO state to one or more devices coupled to a shared communication link; and

transmitting the VGI word to each destination over the shared communication link in a data packet provided in accordance with a system power management interface (SPMI) protocol or a radio frequency front-end (RFFE) protocol.

2. The method of claim 1 , wherein the mapping associates each bit of the VGI word with one or more devices that includes a GPIO pin corresponding to a GPIO in a source of the each bit.

3. The method of claim 1 , wherein the plurality of sources includes GPIO associated with two or more communication links.

4. The method of claim 1 , wherein the plurality of sources includes GPIO associated with two or more devices.

5. The method of claim 1 , wherein transmitting the VGI word comprises:

transmitting the VGI word in a data packet provided in accordance with the SPMI protocol; and

transmitting the data packet to a first destination through a first SPMI interface of an intermediate device, wherein the intermediate device relays the data packet to the first destination through a second SPMI interface of the intermediate device.

6. The method of claim 1 , wherein each receiving device of the VGI word is configured to mask the VGI word in accordance with a masking table that identifies GPIO state information in the VGI word affecting a GPIO pin in the each receiving device.

7. The method of claim 1 , wherein transmitting the VGI word comprises:

transmitting the VGI word in a data packet provided in accordance with the RFFE protocol.

8. The method of claim 1 , further comprising:

receiving a plurality of bits, each bit representing GPIO state of one pin in a device; and

configuring the plurality of bits using a multiplexer to form the VGI word.

9. The method of claim 1 , further comprising:

buffering one or more additional VGI words while transmitting the VGI word.

10. The method of claim 1 , wherein transmitting the VGI word to each destination comprises:

transmitting the VGI word to each destination in accordance with a standards-defined protocol that controls transmissions over the shared communication link.

11. The method of claim 1 , wherein the shared communication link comprises a serial bus.

12. A method performed at a transmitting device, comprising:

configuring general purpose input/output (GPIO) state from a plurality of sources into a virtual GPIO (VGI) word;

identifying one or more destinations for the VGI word based on a mapping of the GPIO state to one or more devices coupled to a shared communication link; and

transmitting the VGI word to each destination over the shared communication link,

wherein each receiving device of the VGI word is configured to mask the VGI word in accordance with a masking table that identifies GPIO state information in the VGI word affecting a GPIO pin in the each receiving device.

13. An apparatus, comprising:

a bus interface configured to couple the apparatus to a serial bus; and

a virtual general-purpose input/output finite state machine configured to:

map general purpose input/output (GPIO) state from a plurality of sources into a virtual GPIO (VGI) word;

identify one or more destinations for the VGI word based on a mapping of the GPIO state to one or more devices coupled to the serial bus; and

transmit the VGI word in a data packet over the serial bus to at least one destination, wherein the data packet is transmitted in accordance with a system power management interface (SPMI) protocol or a radio frequency front-end (RFFE) protocol.

14. The apparatus of claim 13 , wherein the plurality of sources includes GPIO associated with two or more communication links.

15. The apparatus of claim 13 , wherein the plurality of sources includes GPIO associated with two or more devices.

16. The apparatus of claim 13 , wherein the virtual general-purpose input/output finite state machine is further configured to:

transmit the VGI word in a data packet over the serial bus in accordance with the SPMI protocol.

17. The apparatus of claim 13 , wherein the virtual general-purpose input/output finite state machine is further configured to:

transmit the VGI word in a data packet over the serial bus in accordance with the RFFE protocol.

18. The apparatus of claim 13 , further comprising a mapper configured to:

associate each bit of the VGI word with one or more devices that includes a GPIO pin corresponding to a GPIO in a source of the each bit.

19. The apparatus of claim 18 , wherein the mapper comprises a multiplexer configured to:

form the VGI word by configuring a plurality of bits representing GPIO state of physical pins in a device.

20. A method performed at a receiving device, comprising:

receiving a virtual general-purpose input/output (VGI) word from a shared communication link;

masking the VGI word to obtain a set of VGI bits that excludes at least one bit;

mapping the set of VGI bits to a corresponding set of physical general-purpose input/output (GPIO) pins; and

causing each of the set of physical GPIO pins to have a signaling state defined by a corresponding VGI bit in the set of VGI bits,

wherein the shared communication link is operated in accordance with a system power management interface (SPMI) protocol or a radio frequency front-end (RFFE) protocol.

21. The method of claim 20 , wherein the VGI word is received by a plurality of devices, wherein signaling state of at least one physical GPIO pin in each of the plurality of devices is defined by a corresponding bit in the VGI word.

22. The method of claim 20 , wherein masking the at least one bit of the VGI word comprises:

masking the VGI word in accordance with a masking table that identifies state information in the VGI word affecting one or more physical GPIO pins in the receiving device.

23. The method of claim 20 , wherein state information defined by the VGI word includes state information associated with two or more communication links.

24. The method of claim 20 , wherein the shared communication link is operated in accordance with the SPMI protocol.

25. The method of claim 20 , wherein the shared communication link is operated in accordance with the RFFE protocol.

26. An apparatus, comprising:

a bus interface configured to receive a virtual general-purpose input/output (VGI) word from a serial bus, wherein the serial bus is operated in accordance with a system power management interface (SPMI) protocol or a radio frequency front-end (RFFE) protocol;

a masking circuit configured to extract one or more VGI bits from the VGI word; and

a virtual general-purpose input/output finite state machine configured to:

map the one or more VGI bits to a corresponding set of physical general-purpose input/output (GPIO) pins; and

cause each of the set of physical GPIO pins to have a signaling state defined by a corresponding VGI bit in the one or more VGI bits.

27. The apparatus of claim 26 , wherein the VGI word is received by a plurality of devices, wherein signaling state of at least one physical GPIO pin in each of the plurality of devices is defined by a corresponding bit in the VGI word.

28. The apparatus of claim 26 , wherein the masking circuit is further configured to:

mask the VGI word in accordance with a masking table that identifies state information in the VGI word affecting one or more physical GPIO pins in the apparatus.

29. The apparatus of claim 26 , wherein state information defined by the VGI word includes state information associated with two or more communication links.

30. A method performed at a receiving device, comprising:

receiving a virtual general-purpose input/output (VGI) word from a shared communication link;

masking the VGI word to obtain a set of VGI bits that excludes at least one bit;

mapping the set of VGI bits to a corresponding set of physical general-purpose input/output (GPIO) pins; and

causing each of the set of physical GPIO pins to have a signaling state defined by a corresponding VGI bit in the set of VGI bits,

wherein masking the at least one bit of the VGI word comprises:

masking the VGI word in accordance with a masking table that identifies state information in the VGI word affecting one or more physical GPIO pins in the receiving device.

31. An apparatus for data communication, comprising:

a bus interface configured to receive a virtual general-purpose input/output (VGI) word from a serial bus;

a masking circuit configured to:

extract one or more VGI bits from the VGI word; and

mask the VGI word in accordance with a masking table that identifies state information in the VGI word affecting one or more physical GPIO pins in the apparatus; and

a virtual general-purpose input/output finite state machine configured to:

map the one or more VGI bits to a corresponding set of physical general-purpose input/output (GPIO) pins; and

cause each of the set of physical GPIO pins to have a signaling state defined by a corresponding VGI bit in the one or more VGI bits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2018
From: MISHRA, LALAN JEE; WIETFELDT, RICHARD DOMINIC; CHUN, CHRISTOPHER KONG YEE; PRASAD, MOHIT; ROSOLOWSKI, CHRIS
To: QUALCOMM INCORPORATED
Reel/Frame 045351/0703 →
Continuity (2)
Provisional Application 62457729 · Feb 10, 2017
Related Publication 20180232324A1 · Aug 16, 2018
Cited By (1)
US 12,730,767