Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX6UL-L/Peripherals/USB OTG

173 bytes added, 11 January
m
U0007 moved page DESK-MX6UL-L/Pheripherals/USB OTG to DESK-MX6UL-L/Peripherals/USB OTG without leaving a redirect
<section begin="History" />
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1{{oldid|14250|2021/07/20}}| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First DESK-MX6UL-L release|-| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|16316|2022/03/16}}| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MX6UL-L 3.0.0release|-! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|Apr 20212023/05/04|! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|First DESK -MX6UL-L 4.0.0 release
|}
<section end="History" /><section begin="Body" />
==Peripheral USB OTG ==
The USB OTG ports can be configured as Host or Device mode depending on the device tree configuration. In OTG mode they can be easily tested using the Mass Storage Gadget, which lets the device export a file as a mass storage device to the connected PC.
{{ImportantMessage|text=The USB OTG peripheral is not available - ''as default option'' - on [[AXEL_ULite_SOM/AXEL_ULite_Evaluation_Kit | AXEL ULite EVK]]. Please contact [mailto:sales@dave.eu Sales department] for this option}}.<br>
This peripheral is available on the i.MX6UL standard product [[SBC_Lynx_SBC | SBCLynx]]}}
Here below an example of device tree configuration used on standard DAVE's kit for the [[AXEL ULite SOM]] where USB OTG1 is configured as ''otg'' while the USB OTG2 port is configured in ''host'' mode:
From <code>imx6ul-axelulitelynx-cb003asom0013-cb002f.dts</code>:
<pre>
&usbotg2 pinctrl_usb_otg2: usbotg2grp { vbus-supply fsl,pins = <&reg_usb_otg2_vbus>; pinctrl-names = "default"; MX6UL_PAD_ENET2_TX_DATA1__GPIO2_IO12 0x17059 /* OTG2_PWR */ MX6UL_PAD_ENET2_TX_EN__USB_OTG2_OC 0x17059 /* OTG2_OC */ pinctrl-0 = <&pinctrl_usb_otg2_id >; disable-over-current }; dr_mode = "host"; status = "okay" };
};
...</pre> and from <code>imx6ul-lynx-som0013...dtsi</code>:&iomuxc {...<pre>... usb { pinctrl_usb_otg2_id pinctrl_usb_otg2: usbotg2idgrp usbotg2grp { fsl,pins = < MX6UL_PAD_ENET2_TX_CLK__ANATOP_OTG2_ID MX6UL_PAD_ENET2_TX_DATA1__GPIO2_IO12 0x17059 /* OTG2_PWR */ MX6UL_PAD_ENET2_TX_EN__USB_OTG2_OC 0x17059 /* OTG ID OTG2_OC */ >; }; pinctrl_usb_otg2 pinctrl_usb_otg2_1: usbotg2grp -1 { fsl,pins = < MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 MX6UL_PAD_UART3_CTS_B__GPIO1_IO26 0x17059 /* OTG PWR OTG2_PWR */ MX6UL_PAD_UART2_CTS_B__GPIO1_IO22 0x10b0 MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x17059 /* OTG OC OTG2_OC */ >; }; };
</pre>
...
...
[ 13.939073458609] usb usb2usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15[ 13.945990467126] usb usb2usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1[ 13.953298474528] usb usb2usb1: Product: EHCI Host Controller[ 13.958211479474] usb usb2usb1: Manufacturer: Linux 45.1415.9871-desk-mx6ul-l-14.0.1 0-rc1+gb3b0d0fd0042 ehci_hcd[ 13.965426488899] usb usb2usb1: SerialNumber: ci_hdrc.1[ 3.667157] usbcore: registered new interface driver usbhid[ 3.672771] usbhid: USB HID core driver
...
...
<pre class="workstation-terminal">
root@desk-mx6ul-axelulite:~# [ 4094.533219701909] usb 21-1: new high-speed USB device number 2 using ci_hdrc[ 4094.775605910476] usb 21-1: New USB device found, idVendor=095113fe, idProduct=16656700, bcdDevice= 1.10[ 4094.782554910584] usb 21-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3[ 4094.797569910651] usb 21-1: Product: DataTraveler 2USB DISK 3.0[ 4094.802174910695] usb 21-1: Manufacturer: KingstonWilk[ 4094.813793910741] usb 21-1: SerialNumber: 50E549C202681071F97202CB07012533C2BE5935[ 4094.827294932930] usb-storage 21-1:1.0: USB Mass Storage device detected[ 4094.850364941189] scsi host0: usb-storage 21-1:1.0[ 4196.926319015256] scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2Wilk USB DISK 3.0 0000 PMAP PQ: 0 ANSI: 46[ 4196.953445025192] sd 0:0:0:0: [sda] 15151168 60628992 512-byte logical blocks: (731.76 0 GB/728.22 9 GiB)[ 4196.976216026459] sd 0:0:0:0: [sda] Write Protect is off[ 4196.981055026506] sd 0:0:0:0: [sda] Mode Sense: 23 45 00 00 00[ 4296.003870027841] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA[ 4296.040175093511] sda: sda1sda2[ 4296.063618105339] sd 0:0:0:0: [sda] Attached SCSI removable disk root@desk-mx6ul-axelulite:~#
</pre>
<pre class="workstation-terminal">
root@desk-mx6ul-axelulitelynx:~# dd if=/dev/zero of=mass_storage count=32 bs=1M
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 30.62181 573118 s, 958.3 5 MB/sroot@desk-mx6ul-axelulitelynx:~# mkfs.msdos mass_storagemkfs.fat 4.1 2 (20172021-01-2431)root@desk-mx6ul-axelulitelynx:~# mkdir looproot@desk-mx6ul-axelulitelynx:~# mount -o loop mass_storage looproot@desk-mx6ul-axelulitelynx:~# echo "Test USB OTG with mass storage device" > loop/usb.txtroot@desk-mx6ul-axelulitelynx:~# umount loop/
</pre>
<pre class="workstation-terminal">
root@desk-mx6ul-axelulitelynx:~# modprobe g_mass_storage removable=y file=mass_storageroot@desk-mx6ul-lynx:~# dmesg | tail -n 7[ 137166.706620355438] Mass Storage Function, version: 2009/09/11[ 137166.711809355484] LUN: removable file: (no medium)[ 137166.731390355723] LUN: removable file: /home/root/mass_storage[ 137166.737101355748] Number of LUNs=1[ 137166.740256365515] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11[ 137166.751272365556] g_mass_storage gadget: userspace failed to provide iSerialNumber[ 137166.760299365572] g_mass_storage gadget: g_mass_storage readyroot@desk-mx6ul-axelulite:~#
</pre>
Once the USB cable is connected to the PC, the kernel prints storage is mounted and the following messages''usb.txt'' file is available:
<pre class="workstation-terminal">
root@desk$ cat /media/tomzy/42D5-mx6ul-axelulite:~# [ 214CBA5/usb.837430] g_mass_storage gadget: high-speed config #1: Linux File-Backed Storagetxt Test USB OTG with mass storage device
</pre>
and the The Windows PC also activate the driver and the disk is available as a Drive Unit (with the ''usb.txt'' file available).
=== Additional information ===
More information about Mass Storage Gadget driver is given in the kernel tree under ''Documentation/usb/mass-storage.txtrst''
<section end="Body" />
----
[[Category:AXEL ULite]]
8,286
edits