kobol-wiki/docs/helios64/usb.md
Gauthier Provost 5ba93f2c13
Helios64 Hardware Detailed Info (#27)
* 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>
2020-04-20 16:06:24 +08:00

3.7 KiB

USB Location

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

USB Connection

  • 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)

USB Mux

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.

Type-c to DisplayPort

Using USB Type-C to HDMI cable/dongle, Helios64 can be connected to a TV and used as a media center.

Type-c to HDMI female

USB Type-C to HDMI dongle

Type-c to HDMI male

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,

Type-C to Type-A female

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,

Type-C to Type-A male

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.