Go playing with USB
The MediaTek X20 96Boards supports one USB device port and three USB host ports.
The input channel( D+/D-) of USB MUX (U6503) is connected to the USB_P0 port of the SoC MT6797, and the two output channels(1D+/1D-,2D+/2D-) are connected to Micro USB port and USB hub respectively. The three USB host ports are connected to the downstream ports of the USB hub.
The control of U6503 is done via a software controlled GPIO (USB_SW_SEL, EINT9 from the SoC MT6797).
- When this signal is logic low, ‘0’, the USB data lines are routed to the Micro USB connector and the MT6797 USB_P0 port is set to device mode.
- When ‘USB_SW_SEL’ is logic level high, ‘1’, the USB data lines are routed to U6401 (a 3-port USB HUB) and the MT6797 USB_P0 port is set to host mode.
The user can overwrite the software control by sliding switch 3 of dip-switch SW3205 to the ‘ON’ position. That action forces the USB–MUX (U6503) to route the USB data lines to the USB HUB. The overwrite option exists for the host mode only, you cannot hardware overwrite the MUX to force device mode.
Figure 1: USB Schematic Diagram.
Figure 2: USB Block Diagram.
USB Host Ports
The MediaTek X20 96Boards supports three USB host ports via a USB2.0 hub (U6401 USB2513-AEZG). Its upstream signal is connected to USB_P0 interface of MT6797.
- Port 1 of the USB HUB is routed to CON6401, a Type ‘A’ USB Host connector. A current limited controller (U6402) sets the Power Current limit to 1.18A.
- Port 2 of the USB HUB is routed to CON6402, a Type ‘A’ USB Host connector. A current limited controller (U6403) sets the Power Current limit to 1.18A.
- Port 3 of the USB HUB is routed to the High Speed Expansion connector. No current limited controller is implemented on the board for this channel.
Figure 4: 60 PINs High Speed Expansion Connector Schematic Diagram.
USB Device Ports
The MediaTek X20 96Boards implements one device port. The port is located at CON6403, a Micro USB type B. It is routed to USB_P0 interface of MT6797.
Note: the board can work in one mode at a time, Host mode or Device mode, not both.
Case A: Connect USB mouse
Almost computer mouse adopts Type A USB port, we can connect it to the 96Boards as external input device. So, the USB port of the board should work in Host mode.
Just slid the switch 3 of dip-switch (SW3205) to the ‘ON’ position to let the board work in Host mode.
Figure 5: DIP Switch (SW3205).
Case B: Connect USB HDD storage
Slid the switch 3 of dip-switch (SW3205) to the ‘ON’ position to let the board work in Host mode, and connect some USB HDD storage as external storage device.
For the USB host ports all attached USB devices must be one of the following three options:
- Low Speed (1.5Mbit/sec)
- Full Speed (12Mbit/sec)
- High Speed devices (480Mbit/sec)
If a mixture of High Speed and Low/Full speed devices are attached the devices will not operate correctly. This also applies if any hubs are attached to the ports.
Case C: Connect PC to adb debug
During development phase, we need to connect Micro USB port to PC to adb debug the board. Slid the switch 3 of dip-switch (SW3205) to the ‘OFF’ position to let the board work in Device mode.
For windows user, you need install the according USB Driver to let it work as MTP or other type device.
Figure 6: Connect a computer mouse to input & control, and connect PC to Micro USB to adb debug.