Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX6UL-L/Peripherals/USB OTG

170 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 ==
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,226
edits