# US 10,769,093 B2 · Automatically configuring a universal serial bus (USB) type-C port of a computing device

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

- Number: US 10,769,093 B2
- Document ID: US10769093B2
- Status: Granted
- Kind: B2
- Application number: 16/281,266
- Filed: 2019-02-21
- Published: 2019-06-20
- Granted: 2020-09-08
- Earliest claimed: 2016-08-23
- Assignees: Dell Products L.P.
- Applicants: Dell Products L. P.
- Inventors: Arnold Thomas Schnell; Lee B. Zaretsky
- Web page: https://patentgrep.com/patent/US10769093B2

## CPC

- G06F 13/4282: {on a serial bus, e.g. I2C bus, SPI bus (on daisy chain buses G06F13/4247)}
- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F 13/4022: {using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In some implementations a logic device, such as an embedded controller, automatically configures a universal serial bus (USB) Type-C port by connecting the USB Type-C port to appropriate input/output (I/O) signals. For example, the logic device may receive a notification that an external device is connected to a USB Type-C port of a computing device. The logic device may receive data from a port controller over an internal communication bus associated with the USB Type-C port. Based at least in part on the data, the logic device may determine one or more types of signals that the external device is configured to send, receive, or send and receive. The logic device may instruct a cross-point switch to connect the USB Type-C port to one or more signal paths in the computing device to enable the external device to send/receive the one or more types of signals.

## Claims

### Claim 1

A method comprising:
receiving, by a logic device, an indication from a port controller of a computing device that an external device is connected via a cable to a universal serial bus (USB) Type-C port of the computing device, wherein the computing device comprises:
the logic device;
a cross-point switch coupled to the logic device; and
the USB Type-C port;
after receiving the indication, determining, by the logic device, a device class of the external device;
after determining, the device class of the external device, determining, by the logic device, a role of the external device;
in response to determining, based on the role and the device class, that the external device comprises a display device, sending, by the logic device, an instruction to the cross-point switch to connect at least a video bus of the computing device to the USB Type-C port;
in response to determining, based on the role and the device class, that the external device comprises a storage device, sending, by the logic device, an instruction to the cross-point switch to connect at least a device bus to the USB Type-C port; and
in response to determining, based on the role and the device class, that the external device is requesting that power be provided, sending by the logic device, an instruction to the cross-point switch to connect at least a power bus to the USB Type-C port.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining a voltage to provide the external device that is approximately between 5 volts and 20 volts;
determining an amperage to provide the external device that is approximately between 100 milliamps and 5 amps; and
instructing, by the logic device, the cross-point switch to connect the power bus of the computing device to the USB Type-C port to provide the voltage and the amperage.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining that the external device is using a display port (DP) alternate mode; and
instructing the cross-point switch to provide one or more DP lanes to the USB Type-C port.

### Claim 4 (depends on 1)

The method of claim 1, wherein the logic device comprises an embedded controller.

### Claim 5 (depends on 1)

The method of claim 1, wherein the role comprises one of a downward facing port or an upward facing port.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining that the external device is using functional extensions; and
configuring the USB Type-C port to support the functional extensions.

### Claim 7 (depends on 1)

The method of claim 1, wherein the logic device monitors a communications channel associated with the USB Type-C port to determine one or more types of signals that the external device is configured to send, receive, or send and receive.

### Claim 8

A computing device comprising:
one or more processors;
one or more memory storage devices;
one or more universal serial bus (USB) Type-C ports;
a device bus;
a cross-point switch; and
a logic device configured to perform operations comprising:
receiving an indication from a port controller that an external device is connected via a cable to a particular universal serial bus (USB) Type-C port of the one or more USB Type-C ports;
in response to receiving the indication, determining a role of the external device;
in response to determining the role of the external device, determining a device class of the external device; and
in response to determining, based on the role and the device class, that the external device comprises a display device, sending an instruction to the cross-point switch to connect at least a video bus to the USB Type-C port;
in response to determining, based on the role and the device class, that the external device comprises a storage device, sending, by the logic device, an instruction to the cross-point switch to connect at least a device bus to the USB Type-C port; and
in response to determining, based on the role and the device class, that the external device is requesting that power be provided, sending by the logic device, an instruction to the cross-point switch to connect at least a power bus to the USB Type-C port.

### Claim 9 (depends on 8)

The computing device of claim 8, wherein the role comprises one of a downward facing port or an upward facing port.

### Claim 10 (depends on 8)

The computing device of claim 8, wherein the device class comprises one of an audio device class, a communications device class, a human interface device class, a physical interface device class, an image device class, a printer device class, a mass storage device class, a USB hub device class, a smart card device class, a security device class, a video device class, a personal healthcare device class, an audio/video device class, a diagnostic device class, a wireless controller device class, an application-specific device class, or a vendor specific device class.

### Claim 11 (depends on 8)

The computing device of claim 8, wherein the logic device comprises an embedded controller.

### Claim 12 (depends on 8)

The computing device of claim 8, wherein the operations further comprise:
determining a voltage to provide the external device that is approximately between 5 volts and 20 volts;
determining an amperage to provide the external device that is approximately between 100 milliamps and 5 amps; and
instructing the cross-point switch to connect the power bus of the computing device to the particular USB Type-C port to provide the voltage and the amperage.

### Claim 13 (depends on 8)

The computing device of claim 8, wherein the operations further comprise:
determining that the external device is using a display port (DP) alternate mode; and
instructing the cross-point switch to provide one or more DP lanes to the particular USB Type-C port.

### Claim 14

An embedded controller programmed with instructions to perform operations comprising:
receiving an indication from a port controller that an external device is connected via a cable to a universal serial bus (USB) Type-C port of a computing device, wherein the computing device comprises:
the embedded controller,
a cross-point switch coupled to the embedded controller,
the USB Type-C port, and
a device bus;
in response to receiving the indication, determining a device class of the external device;
in response to determining the device class, determining a role of the external device;
in response to determining, based on the role and the device class, that the external device comprises a display device, instructing the cross-point switch to connect at least a video bus to the USB Type-C port;
in response to determining, based on the role and the device class, that the external device comprises a storage device, instructing the cross-point switch to connect a device bus to the USB Type-C port; and
in response to determining, based on the role and the device class, that the external device is requesting that power be provided, instructing the cross-point switch to connect at least a power bus to the USB Type-C port.

### Claim 15 (depends on 14)

The embedded controller of claim 14, wherein the role comprises one of a downward facing port or an upward facing port.

### Claim 16 (depends on 14)

The embedded controller of claim 14, the operations further comprising:
receiving, over a configuration channel associated with the USB Type-C port, data indicating one or more types of signals that the external device is configured to communicate, wherein the data is sent by a port controller associated with the USB Type-C port.

### Claim 17 (depends on 14)

The embedded controller of claim 14, the operations further comprising:
negotiating power delivery to the external device.

### Claim 18 (depends on 17)

The embedded controller of claim 17, wherein negotiating the power delivery to the external device comprises:
negotiating a voltage that is approximately between 5 volts and 20 volts;
negotiating an amperage that is approximately between 100 milliamps and 5 amps; and
instructing the cross-point switch to connect the power bus of the computing device to the USB Type-C port to provide the voltage and the amperage.

### Claim 19 (depends on 14)

The embedded controller of claim 14, the operations further comprising:
determining that the external device is using an alternate mode; and
instructing the cross-point switch to connect the USB Type-C port to support the alternate mode.

### Claim 20 (depends on 14)

The embedded controller of claim 14, wherein the device class of the external device comprises one of: an audio device class, a communications device class, a human interface device class, a physical interface device class, an image device class, a printer device class, a mass storage device class, a USB hub device class, a smart card device class, a security device class, a vide device class, a personal healthcare device class, an audio/video device class, a diagnostic device class, a wireless controller device class, an application-specific device class, or a vendor specific device class.
