diff --git a/docs/helios64/img/usb/dual_usb_device_linux.png b/docs/helios64/img/usb/dual_usb_device_linux.png deleted file mode 100644 index afb91cf..0000000 Binary files a/docs/helios64/img/usb/dual_usb_device_linux.png and /dev/null differ diff --git a/docs/helios64/img/usb/dual_usb_device_windows.png b/docs/helios64/img/usb/dual_usb_device_windows.png deleted file mode 100644 index a132971..0000000 Binary files a/docs/helios64/img/usb/dual_usb_device_windows.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_lsusb_tree.png b/docs/helios64/img/usb/linux_gadget_das_lsusb_tree.png deleted file mode 100644 index b657bd9..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_lsusb_tree.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_lsusb_tree_raid.png b/docs/helios64/img/usb/linux_gadget_das_lsusb_tree_raid.png deleted file mode 100644 index 4465243..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_lsusb_tree_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_thunar_5_drive.png b/docs/helios64/img/usb/linux_gadget_das_thunar_5_drive.png deleted file mode 100644 index e2083c6..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_thunar_5_drive.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_thunar_raid.png b/docs/helios64/img/usb/linux_gadget_das_thunar_raid.png deleted file mode 100644 index 9072895..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_thunar_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_usbview.png b/docs/helios64/img/usb/linux_gadget_das_usbview.png deleted file mode 100644 index 5c10128..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_usbview.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_usbview_raid.png b/docs/helios64/img/usb/linux_gadget_das_usbview_raid.png deleted file mode 100644 index 79f3217..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_usbview_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_device_manager.png b/docs/helios64/img/usb/linux_gadget_das_windows_device_manager.png deleted file mode 100644 index ce5f9d3..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_device_manager.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_device_manager_raid.png b/docs/helios64/img/usb/linux_gadget_das_windows_device_manager_raid.png deleted file mode 100755 index 60f1006..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_device_manager_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt.png b/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt.png deleted file mode 100755 index 8a7b1b5..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt_raid.png b/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt_raid.png deleted file mode 100755 index 8a75880..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_diskmgmt_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview.png b/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview.png deleted file mode 100755 index 5549fb5..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview.png and /dev/null differ diff --git a/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview_raid.png b/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview_raid.png deleted file mode 100755 index 2fc206e..0000000 Binary files a/docs/helios64/img/usb/linux_gadget_das_windows_usbtreeview_raid.png and /dev/null differ diff --git a/docs/helios64/img/usb/typec_dp.jpg b/docs/helios64/img/usb/typec_dp.jpg new file mode 100644 index 0000000..545b799 Binary files /dev/null and b/docs/helios64/img/usb/typec_dp.jpg differ diff --git a/docs/helios64/img/usb/typec_dp_cable.jpg b/docs/helios64/img/usb/typec_dp_cable.jpg deleted file mode 100644 index 6ce5b0b..0000000 Binary files a/docs/helios64/img/usb/typec_dp_cable.jpg and /dev/null differ diff --git a/docs/helios64/img/usb/typec_hdmi.jpg b/docs/helios64/img/usb/typec_hdmi.jpg new file mode 100644 index 0000000..ce8c4f5 Binary files /dev/null and b/docs/helios64/img/usb/typec_hdmi.jpg differ diff --git a/docs/helios64/img/usb/typec_hdmi_dongle.jpg b/docs/helios64/img/usb/typec_hdmi_dongle.jpg new file mode 100644 index 0000000..5b0aff9 Binary files /dev/null and b/docs/helios64/img/usb/typec_hdmi_dongle.jpg differ diff --git a/docs/helios64/img/usb/typec_hdmi_usb_dongle.jpg b/docs/helios64/img/usb/typec_hdmi_usb_dongle.jpg deleted file mode 100644 index 56422f5..0000000 Binary files a/docs/helios64/img/usb/typec_hdmi_usb_dongle.jpg and /dev/null differ diff --git a/docs/helios64/img/usb/otg_cable_usb_c.jpg b/docs/helios64/img/usb/typec_typea_female.jpg similarity index 100% rename from docs/helios64/img/usb/otg_cable_usb_c.jpg rename to docs/helios64/img/usb/typec_typea_female.jpg diff --git a/docs/helios64/img/usb/typec_typea_male.jpg b/docs/helios64/img/usb/typec_typea_male.jpg new file mode 100644 index 0000000..8c4b08c Binary files /dev/null and b/docs/helios64/img/usb/typec_typea_male.jpg differ diff --git a/docs/helios64/img/usb/usb_ports.jpg b/docs/helios64/img/usb/usb_ports.jpg new file mode 100644 index 0000000..1513294 Binary files /dev/null and b/docs/helios64/img/usb/usb_ports.jpg differ diff --git a/docs/helios64/usb.md b/docs/helios64/usb.md index bd205a5..e79c4d1 100644 --- a/docs/helios64/usb.md +++ b/docs/helios64/usb.md @@ -1,53 +1,48 @@ + -!!! notice - ***preliminary info*** +## USB Controller Types -There are three types of USB controller available on RK3399. Each type has two controller so total USB controllers is 6. +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 -There are two controller of this type. This controller is Host only controller that is compatible with USB 1.1. -Supported speed: +### 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 -There are two controller of this type. This controller is Host only controller that is compatible with USB 2.0. The controller shared port with -[Generic OHCI USB 1.1 Controller](#generic-ohci-usb-11-controller) therefore any USB 1.1 device connected to the port, will be automatically -routed to [Generic OHCI USB 1.1 Controller](#generic-ohci-usb-11-controller). +### 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. -## Synopsys DesignWare USB 3.0 Dual-Role Device Controller -There are two controller of this type. This controller support On-The-Go /Dual Role which mean it can be configured as Host and also Device. -Supported speed: +Supported speeds: - Super Speed (5 Gbps) - - High Speed (480 Mbps) - - Full Speed (12 Mbps) - - Low Speed (1.5 Mbps) -The controller is connected to Rockchip Type-C PHY. +This controller is connected to RK3399 Type-C PHY. ## USB on Helios64 - + -One of EHCI Controller (and OHCI Controller) is connected to M.2 socket. - -The first USB 3.0 Dual-Role Device Controller is connected to USB Type-C connector and configured as OTG with help of [FUSB302](https://www.onsemi.com/products/interfaces/usb-type-c/fusb302). - -The second USB 3.0 Dual-Role Device Controller is connected to USB Hub 3.1 Gen 1 and configured as Host only. +* 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](https://www.onsemi.com/products/interfaces/usb-type-c/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 of external USB port is protected by Power Distribution switch with following current limit. +Each external USB port is protected by a Power Distribution switch with following current limit. | Port | Voltage | Maximum Current | Remarks | |------------|-------|------------------|---------| @@ -57,438 +52,56 @@ Each of external USB port is protected by Power Distribution switch with followi | Type-C | 5V | 1200 mA | PDO source only | -## USB Type-C Functionality on Helios64 +## Type-C Functionality on Helios64 -To simplify the cabling, Helios64 is designed to maximize USB Type-C usage. +To minimize number of interfaces and cables, Helios64 combined 4 functions into the USB Type-C interface : -Helios64 employ 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](/helios64/jumper/#hs-select-p13). +* Serial Console +* Display Port +* Host Mode +* Device Mode (aka DAS mode) - + -When Helios64 connected to PC using USB cable, there will be 2 device connected. FTDI FT232 USB Serial on USB 2.0 and Helios64 or -Unknown Device (if USB gadget is not configured yet, see below) on USB 3.0. - -On Windows PC using [USB Device Tree Viewer](https://www.uwe-sieber.de/usbtreeview_e.html) to visualize the USB tree, - - - -In this case, Helios64 is connected to a USB 3.1 Gen 1 Hub port 1. - -USB Serial Converter (FTDI FT232 USB Serial) connected under port 1 of the USB 2.0 side of the Hub and -RK3399 USB 3.0 (configured as USB Mass Storage Device) connected under port 1 of the USB 3.0 side of the Hub. - -On Linux PC using [USBview](http://www.kroah.com/linux-usb/) to visualize the USB tree, - - - -In this case, Helios64 is connected to a USB 3.1 Gen 1 Hub port 1. - -FTDI FT232 USB Serial connected under port 1 of the USB 2.0 side of the Hub and -RK3399 USB 3.0 (configured as USB Mass Storage Device) connected under port 1 of the USB 3.0 side of the Hub. - - -!!! info - Every USB hub connected to USB 3.0 port or higher will create a sibling device, USB Hub 2.0, from host point of view. - - USB 2.0 device connected port 1 of the USB 3.0 Hub, it will appear on USB 2.0 Hub port 1. - If USB 3.0 Device connected to same physical port it will appear on USB 3.0 Hub port 1. +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](/helios64/jumper/#usb-consolerecovery-mode-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 -### DisplayPort Alternate Mode +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 DisplayPort cable or USB Type-C to HDMI dongle, Helios64 can be connected to monitor to display Linux Desktop or other GUI application. + - +Using USB Type-C to HDMI cable/dongle, Helios64 can be connected to a TV and used as a media center. -