USB
The Universal Serial Bus (USB) can be utilized for many functions on the phyBOARD-Lynx AM62Px, including external media. The phyBOARD-Lynx AM62Px provides multiple USB connectors, as detailed in USB Locations. This guide will show you how to use the USB Host capabilities featured on the phyBOARD-Lynx AM62Px. To learn more information about the phyCORE-AM62Px USB interface, please see section 7.6 in the Hardware Manual.
The USB0 interface is brought out as a USB-C connector (X8). The USB1 interface connects to a TUSB4041I USB 2.0 hub (U37), which splits the bus to the double stacked USB-A connector (X11) and the M.2 Key E connector (X20).
Type |
Qty |
Header Location |
Controller |
Speed |
|---|---|---|---|---|
USB-A Double Stacked |
2 |
X11 |
USB1, hub ports 1 (lower) and 2 (upper) |
USB 2.0 High-Speed |
M.2 Key E |
1 |
X20 |
USB1, hub port 3 |
USB 2.0 High-Speed |
USB-C |
1 |
X8 |
USB0 |
USB 2.0 High-Speed |
The USB-C port role is selected with jumper JP11:
JP11 |
Port Role |
|---|---|
Open (default) |
Dual-Role Port (DRP) |
1+2 |
Downstream Facing Port (DFP, host) |
2+3 |
Upstream Facing Port (UFP, device) |
Requirements
USB Storage Device
Verifying USB Interface
Boot into Linux and Insert a USB Storage Device into one of the USB ports.
Upon insertion, kernel output should appear.
Verify the available USB devices.
In this example a USB storage device is inserted in both the lower and upper USB-A ports of X11.
phyboard-lynx-am62pxx-1:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0451:8142 Texas Instruments, Inc. TUSB8041 4-Port Hub
Bus 001 Device 003: ID 0781:5591 SanDisk Corp. Ultra Flair
Bus 001 Device 004: ID 0781:5591 SanDisk Corp. Ultra Flair
To list more information about the USB device and buses on the development kit use the following command.
This command will output a good chunk of information. This guide will only show a snippet of the expected output for the USB drive that was just connected.
phyboard-lynx-am62pxx-1:~# lsusb -v
The speed of the USB device can be determined with either the
lsusb -vfrom above or by reading the device’s “speed”
phyboard-lynx-am62pxx-1:~# lsusb -t
/: Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
|__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 001: Dev 003, If 0, Class=Mass Storage, Driver=usb-storage, 480M
|__ Port 002: Dev 004, If 0, Class=Mass Storage, Driver=usb-storage, 480M
Hub port 1 is the lower and hub port 2 the upper USB-A port of X11.
Note
USB2.0 has transmission speeds up to 480Mbit/s, also known as “high speed”.
Mounting USB Stroage Devices
Verify that a device directory was established for the USB drive.
Run the following command to confirm the USB device name.
phyboard-lynx-am62pxx-1:~# ls /dev/sd* /dev/sda
Remove the USB drive and re-insert it.
The output log that appears when connecting the USB device will indicate the devices name.
Note
In this example the device name for the USB drive is “sda”.
Make a directory for mounting the USB device.
phyboard-lynx-am62pxx-1:~# mkdir -p /mnt/usb
Format file type.
phyboard-lynx-am62pxx-1:~# mkfs.vfat /dev/sda
Mount the USB device to the directory.
phyboard-lynx-am62pxx-1:~# mount /dev/sda /mnt/usb/
See what media is on the USB drive.
phyboard-lynx-am62pxx-1:~# ls /mnt/usb/
Write to the USB Host Device
Generate a random 10 MB file to test transferring data from the storage device.
phyboard-lynx-am62pxx-1:~# dd if=/dev/urandom of=test.file count=10 bs=1M 10+0 records in 10+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.161874 s, 64.8 MB/s
Copy the file to your storage device.
phyboard-lynx-am62pxx-1:~# cp test.file /mnt/usb/ && sync
Read from the USB Host Device
Copy the test file we previously created during the write process back to the host:
phyboard-lynx-am62pxx-1:~# cp /mnt/usb/test.file readback-usb.file && sync
We can double check that the file was successfully copied to and from the USB device by checking the md5sum of the file:
phyboard-lynx-am62pxx-1:~# md5sum test.file readback-usb.file d3aa3ee1db746d6f7fb66c9b42f4ea6b test.file d3aa3ee1db746d6f7fb66c9b42f4ea6b readback-usb.file
Unmounting the Drive
Warning
Make sure the drive is unmounted prior to physically disconnecting the device. Failure to do so may result in loss of data and corruption of files
phyboard-lynx-am62pxx-1:~# umount /mnt/usb/