To simplify the cabling, Helios64 is designed to have
![!USB Mux](/helios64/img/usb/usb_mux.png)
### Serial Console
Serial Console of Helios64 is connected to FT232 USB Serial converter and the USB 2.0 signal of the FT232 is connected to USB 2.0 signals of USB Type-C Port.
Refer to ***JUMPER PAGE***
### DisplayPort Alternate Mode
Using USB Type-C to DisplayPort cable or USB Type-C to HDMI dongle, Helios64 can be connected to monitor to display Linux Desktop or other GUI application.
*** Put USB Type-C to DisplayPort cable photo here ***
*** Put USB Type-C to HDMI dongle photo here ***
!!! note
DisplayPort Alternate Mode is NOT supported on U-Boot.
Helios64 can act as USB host and can be connected to various USB device.
### USB Device
Helios64 can be used as Direct Attached Storage (DAS) with proper configuration and kernel module. Refer to [Helios64 as Direct Attached Storage (DAS) device](#helios64-as-direct-attached-storage-das-device)
Helios64 can also used as "USB eMMC reader/writer" for OS recovery purpose. Refer to [USB OTG Port (USB Type-C)](#usb-otg-port-usb-type-c)
## USB under U-Boot
### USB Host Port
USB Host support in U-Boot is quite minimal, it only support USB storage and USB ethernet.
### USB OTG Port (USB Type-C)
USB Type C port is configured as USB device mode as USB Mass Storage connected to eMMC.
This function can be activated by pressing Recovery Button.
This is to serve as a way to (re)install OS to eMMC.
## USB under Linux
### USB Bus Mapping
| USB Controller | Bus number | Remarks |
|----------------|------------|---------|
| EHCI Host0 | 0 | |
| EHCI Host1 | 1 | |
| DWC3 Typec0 USB 3.0 | 2 | |
| DWC3 Typec0 USB 2.0 | 3 | |
| DWC3 Typec1 USB 3.0 | 4 | |
| DWC3 Typec1 USB 2.0 | 5 | |
----- ***TBC*** ------
### Helios64 as Direct Attached Storage (DAS) device
Helios64 can be used as Direct Attached Storage (DAS) device with help of Linux USB Gadget kernel module.
The kernel moodule only export the underlying block device NOT the filesystem layer. Therefore if the block device is formatted with filesystem unique to Linux,
the exported disk may not readable by computer that has Helios64 connected to.
For example, the block device is formatted with EXT4 filesystem and Helios64 connected to Windows PC as DAS,
the Windows PC will not be able to read the disk content unless 3rd party software/driver installed.
!!! warning
Do NOT access Helios64 simultanouesly as DAS and NAS, as the filesystem is not managed by system and can lead to data corruption.