# US 9,519,603 B2 · Method and apparatus to enable multiple masters to operate in a single master bus architecture

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,603 B2
- Document ID: US9519603B2
- Status: Granted
- Kind: B2
- Application number: 14/480,540
- Filed: 2014-09-08
- Published: 2015-03-12
- Granted: 2016-12-13
- Earliest claimed: 2013-09-09
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Shoichiro Sengoku; Richard Dominic Wietfeldt; George Alan Wiley
- Web page: https://patentgrep.com/patent/US9519603B2

## CPC

- G06F 13/378: using a parallel poll method
- G06F 13/24: using interrupt (G06F13/32 takes precedence)
- G06F 13/36: for access to common bus or bus system
- G06F 13/362: with centralised access control
- G06F 2213/3602: Coding information on a single line
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

To accommodate multiple masters over bus architectures supporting a single master device, a mechanism is provided for an inactive master device to trigger an IRQ signal over a shared, single line IRQ bus. A current master then polls the other inactive master devices over a shared data bus to ascertain which inactive master device is asserting the IRQ signal. Upon identifying the asserting inactive master device, the current master device grants control of the data bus to the new master device, thereby making the inactive master the new active master device.

## Claims

### Claim 1

A device, comprising:
a single line interrupt request (IRQ) bus to which a plurality of master devices are coupled, wherein the plurality of master devices include an active master device and one or more inactive master devices;
a data bus to which the plurality of master devices are also coupled;
a processing circuit within the active master device, the processing circuit adapted to:
manage communications over the data bus for all devices coupled to the data bus based on interrupt signals asserted over the IRQ bus;
monitor the IRQ bus to ascertain when an IRQ signal has been asserted;
poll the inactive master devices over the data bus to ascertain which inactive master device asserted the IRQ signal on the IRQ bus; and
hand over control of the data bus to an asserting inactive master device upon obtaining an indication from the inactive master device that it made a master request.

### Claim 2 (depends on 1)

The device of claim 1, wherein the master request from the inactive master device is obtained over the IRQ bus.

### Claim 3 (depends on 1)

The device of claim 1, wherein the indication from the inactive master device is obtained over the data bus.

### Claim 4 (depends on 1)

The device of claim 1, wherein the processing circuit is further adapted to:
send an indicator to the asserting inactive master device to transfer control of the data bus.

### Claim 5 (depends on 1)

The device of claim 1, wherein the processing circuit is further adapted to:
identify the asserting inactive master device with which the IRQ signal is associated based on the obtained indicator.

### Claim 6 (depends on 1)

The device of claim 1, wherein the processing circuit is further adapted to:
identify a group of devices with which the IRQ signal is associated.

### Claim 7 (depends on 6)

The device of claim 6, wherein the processing circuit is further adapted to:
scan the devices for the identified group to ascertain which device asserted the IRQ signal on the IRQ bus.

### Claim 8 (depends on 6)

The device of claim 6, wherein the IRQ signal associated with each group has a different pulse width than other IRQ signals associated with other groups.

### Claim 9 (depends on 6)

The device of claim 6, wherein each group of devices includes a single device.

### Claim 10 (depends on 1)

The device of claim 1, wherein the processing circuit is further adapted to:
ascertain if a polled inactive master device asserted the IRQ signal and made the master request by looking at a particular bit in a status register obtained from each of the polled inactive master devices.

### Claim 11 (depends on 1)

The device of claim 1, wherein the indication from the inactive master device that it made a master request is encoded within an unused bit obtained by coding the transmissions from the one or more inactive master devices to the active master device.

### Claim 12 (depends on 1)

The device of claim 1, wherein at least the asserting inactive master device switches between a master mode of operation and a slave mode of operation.

### Claim 13

A method operational on a device, comprising:
managing communications over a data bus for all devices coupled to the data bus based on interrupt signals asserted over a single line interrupt request (IRQ) bus, wherein a plurality of master devices are coupled to IRQ bus and the data bus;
monitoring the IRQ bus to ascertain when an IRQ signal has been asserted;
polling the inactive master devices over the data bus to ascertain which inactive master device asserted the IRQ signal on the IRQ bus; and
handing over control of the data bus to an asserting inactive master device upon obtaining an indication from the inactive master device that it made a master request.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
sending an indicator to the asserting inactive master device to transfer control of the data bus.

### Claim 15 (depends on 13)

The method of claim 13, further comprising:
identifying the asserting inactive master device with which the IRQ signal is associated based on the obtained indicator.

### Claim 16 (depends on 13)

The method of claim 13, further comprising:
identifying a group of devices with which the IRQ signal is associated.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
scanning the devices for the identified group to ascertain which device asserted the IRQ signal on the IRQ bus.

### Claim 18 (depends on 16)

The method of claim 16, wherein the IRQ signal associated with each group has a different pulse width than other IRQ signals associated with other groups.

### Claim 19 (depends on 13)

The method of claim 13, further comprising:
ascertaining if a polled inactive master device asserted the IRQ signal and made the master request by looking at a particular bit in a status register obtained from each of the polled inactive master devices.

### Claim 20 (depends on 13)

The method of claim 13, wherein the data bus that is a camera control interface extension (CCIe)-compatible bus.

### Claim 21

A non-transitory machine-readable storage medium having one or more instructions stored thereon, which when executed by at least one processor causes the at least one processor to:
manage communications over a data bus for all devices coupled to the data bus based on interrupt signals asserted over an interrupt request (IRQ) bus, wherein a plurality of master devices are coupled to IRQ bus and the data bus;
monitor the IRQ bus to ascertain when an IRQ signal has been asserted;
poll the inactive master devices over the data bus to ascertain which inactive master device asserted the IRQ signal on the IRQ bus; and
hand over control of the data bus to an asserting inactive master device upon obtaining an indication from the inactive master device that it made a master request.

### Claim 22

A device, comprising:
a first interface to couple to a single line interrupt request (IRQ) bus to which a plurality of other devices are coupled;
a second interface to couple to a data bus to which the plurality of other devices are also coupled;
a processing circuit coupled to the first interface and second interface, the processing circuit adapted to:
manage communications over the data bus for all devices coupled to the data bus based on interrupt signals asserted over the IRQ bus;
monitor the IRQ bus to ascertain when an IRQ signal has been asserted;
poll the inactive master devices over the data bus to ascertain which inactive master device asserted the IRQ signal on the IRQ bus; and
hand over control of the data bus to an asserting inactive master device upon obtaining an indication from the inactive master device that it made a master request.

### Claim 23 (depends on 22)

The device of claim 22, wherein the master request from the inactive master device is obtained over the first interface.

### Claim 24 (depends on 22)

The device of claim 22, wherein the indication from the inactive master device is obtained over the second interface.

### Claim 25 (depends on 22)

The device of claim 22, wherein the data bus is a camera control interface extension (CCIe)-compatible bus.

### Claim 26 (depends on 22)

The device of claim 22, wherein the data bus is a bidirectional bus.

### Claim 27 (depends on 22)

The device of claim 22, wherein the processing circuit is further adapted to:
send an indicator to the asserting inactive master device over the data bus to transfer control of the data bus.

### Claim 28 (depends on 22)

The device of claim 22, wherein the processing circuit is further adapted to:
ascertain if a polled inactive master device asserted the IRQ signal and made the master request by looking at a particular bit in a status register obtained from each of the polled inactive master devices.
