A method comprising: monitoring, by an embedded controller, a plurality of port controllers (206, 206) associated with a plurality of universal serial bus, USB, Type-C ports (114, 114) in a computing device, wherein the monitoring is performed via a plurality of internal communication buses (212, 212); receiving, by the embedded controller, a notification from one port controller (206) of the plurality of port controllers (206, 206) via a configuration channel of one USB Type-C port (114) of the plurality of USB Type-C ports (114, 114) that an external device is connected to the USB Type-C port (114), wherein the computing device comprises: the embedded controller; a cross-point switch coupled to the embedded controller; the plurality of USB Type-C ports (114, 114) including the plurality of port controllers (206, 206), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) includes a respective port controller of the plurality of port controllers (206, 206); the plurality of internal communication buses (212, 212), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) is connected to the embedded controller via a respective internal communication bus of the plurality of internal communication buses (212, 212); a video output; a device bus; and the configuration channel; determining, by the embedded controller, a role associated with the external device; determining, by the embedded controller, a device class associated with the external device; determining, by the embedded controller, based on the role and the device class, one or more types of signals that the external device is configured to send, receive, or both send and receive; and in response to determining, based on the role and the device class, that the external device comprises a display device, instructing, by the embedded controller, the cross-point switch to connect the USB Type-C port to the video output; in response to determining, based on the role and the device class, that the external device comprises a storage device, instructing, by the embedded controller, the cross-point switch to connect the USB Type-C port to the device bus that supplies compatible input/output, I/O, signals to the storage device and adds the storage device as a device whose file system is accessible to the computing device. monitoring, by an embedded controller, a plurality of port controllers (206, 206) associated with a plurality of universal serial bus, USB, Type-C ports (114, 114) in a computing device, wherein the monitoring is performed via a plurality of internal communication buses (212, 212); receiving, by the embedded controller, a notification from one port controller (206) of the plurality of port controllers (206, 206) via a configuration channel of one USB Type-C port (114) of the plurality of USB Type-C ports (114, 114) that an external device is connected to the USB Type-C port (114), wherein the computing device comprises: the embedded controller; a cross-point switch coupled to the embedded controller; the plurality of USB Type-C ports (114, 114) including the plurality of port controllers (206, 206), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) includes a respective port controller of the plurality of port controllers (206, 206); the plurality of internal communication buses (212, 212), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) is connected to the embedded controller via a respective internal communication bus of the plurality of internal communication buses (212, 212); a video output; a device bus; and the configuration channel; the embedded controller; a cross-point switch coupled to the embedded controller; the plurality of USB Type-C ports (114, 114) including the plurality of port controllers (206, 206), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) includes a respective port controller of the plurality of port controllers (206, 206); the plurality of internal communication buses (212, 212), wherein each USB Type-C port of the plurality of USB Type-C ports (114, 114) is connected to the embedded controller via a respective internal communication bus of the plurality of internal communication buses (212, 212); a video output; a device bus; and the configuration channel; determining, by the embedded controller, a role associated with the external device; determining, by the embedded controller, a device class associated with the external device; determining, by the embedded controller, based on the role and the device class, one or more types of signals that the external device is configured to send, receive, or both send and receive; and in response to determining, based on the role and the device class, that the external device comprises a display device, instructing, by the embedded controller, the cross-point switch to connect the USB Type-C port to the video output; in response to determining, based on the role and the device class, that the external device comprises a storage device, instructing, by the embedded controller, the cross-point switch to connect the USB Type-C port to the device bus that supplies compatible input/output, I/O, signals to the storage device and adds the storage device as a device whose file system is accessible to the computing device.