* Add detailed hardware info for Helios64 - Button - Ethernet - Front Panel - GPIO - I2C - Jumper - LED - M.2 - PMIC - PWM Fan - RTC - SATA - SPI - UEXT - UPS - USB * Cosmetic upgrade and adapt to latest mkdocs-material version Co-authored-by: nurix <nurix@pnsnc.local> Co-authored-by: Aditya Prayoga <aditya@kobol.io>
3.7 KiB
USB Controller Types
There are 3 types of USB controller available on RK3399 SoC. Each type has 2 controllers, so in total there are 6 USB controllers. Below a description of each controller type.
Generic OHCI USB 1.1 Controller
This controller is Host only controller that is compatible with USB 1.1.
Supported speeds:
- Full Speed (12 Mbps)
- Low Speed (1.5 Mbps)
Generic EHCI USB 2.0 Controller
This controller is Host only controller that is compatible with USB 2.0. The controller shared port with Generic OHCI USB 1.1 Controller therefore any USB 1.1 device connected to the port, will be automatically routed to Generic OHCI USB 1.1 Controller.
Supported speed:
- High Speed (480 Mbps)
Synopsys DesignWare USB 3.0 Dual-Role Device Controller
This controller support On-The-Go / Dual Role which means it can be configured as Host or as Device.
Supported speeds:
- Super Speed (5 Gbps)
- High Speed (480 Mbps)
- Full Speed (12 Mbps)
- Low Speed (1.5 Mbps)
This controller is connected to RK3399 Type-C PHY.
USB on Helios64
- The first USB 3.0 Dual-Role Device Controller is connected to USB Type-C connector (J15) and configured as OTG with help of FUSB302.
- The second USB 3.0 Dual-Role Device Controller is connected to USB Hub 3.1 Gen 1 and configured as Host only.
- One of EHCI Controller (and OHCI Controller) is connected to M.2 socket.
Power Budget
Each external USB port is protected by a Power Distribution switch with following current limit.
Port | Voltage | Maximum Current | Remarks |
---|---|---|---|
USB 3.0 Upper Back Panel | 5V | 900 mA | |
USB 3.0 Lower Back Panel | 5V | 900 mA | |
USB 3.0 Front Panel | 5V | 900 mA | |
Type-C | 5V | 1200 mA | PDO source only |
Type-C Functionality on Helios64
To minimize number of interfaces and cables, Helios64 combined 4 functions into the USB Type-C interface :
- Serial Console
- Display Port
- Host Mode
- Device Mode (aka DAS mode)
Helios64 uses an High Speed multiplexer on USB 2.0 signal. By default the USB 2.0 signal is routed to USB Serial Console. The multiplexer can be override using jumper P13 or by software via GPIO.
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.
Display Port
Using USB Type-C to DisplayPort cable, Helios64 can be connected to monitor to display Linux Desktop or others GUI applications.
Using USB Type-C to HDMI cable/dongle, Helios64 can be connected to a TV and used as a media center.
USB Type-C to HDMI dongle
USB Type-C to HDMI cable
!!! note - DisplayPort Alternate Mode is NOT supported on U-Boot. - USB Type-C to HDMI cable might not work if it used DisplayPort dual mode (DP++).
Host Mode
Using OTG cable (Type-C to Type A female) such as,
Helios64 can act as USB host and can be connected to various USB devices.
Device Mode
Using Type-C to Type A male cable such as,
Helios64 can be used as Direct Attached Storage (DAS) with the required software configuration. It can also be used as "USB eMMC reader/writer" during system recovery mode.