Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Peripherals/USB2 OTG

3,894 bytes added, 15 April
no edit summary
!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|15718|2021/12/30}}|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-MX8M-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|17615|2023/02/24}}| 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-MX8M-L-2.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:#edf8fb; padding:5px; color:#000000"|Jan 2022{{oldid|19174|2023/08/22}}|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-MX8M -L-4.0.0 release|-! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2024/04/11! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |DESK-MX8M-L-4.1.0 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"|2.0.0
|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"|Feb 2023
|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-MX8M-L-2.0.0
|}
<section end=History/>
<section begin=Body/>
==Peripheral USB Host USB2 OTG ==
=== Device tree configuration ===
==== ORCA SOM ====
 
The USB2 Type-C port requires to configure the USB VBUS regulator and the '''gpio''' used for enabling the 5V USB power switch in Host mode.
Here below an example of device tree configuration used on standard DAVE's kit for the ORCA SOM:
<pre>
...
...
&usb3_phy1 {
fsl,phy-tx-preemp-amp-tune = <2>;
status = "okay";
};
......
</pre>
Here below an example of device tree configuration used on standard DAVE's kit for the MITO 8M Mini:
From <code>imx8mm-mito8mmini.dtsdtsi</code>:
<pre>
&usbotg2 {
dr_mode = "host";
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "disabled";
};
...
...
</pre>
 
From <code>imx8mm-mito8mmini-sbcx.dts</code>:
 
<pre>
...
...
/ {
 
regulators: regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
 
reg_usb_pwr: usb_pwr {
compatible = "regulator-fixed";
regulator-name = "usb_pwr_en";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
enable-active-high;
};
...
...
};
};
...
...
&usbotg2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb_pwr>;
vbus-supply = <&reg_usb_pwr>;
picophy,pre-emp-curr-control = <3>;
picophy,dc-vol-level-adjust = <7>;
status = "okay";
};
...
};
</pre>
...
...
</pre>
===Accessing the peripheral SBC ORCA===
====Linux messages at boot time in host mode====
When a USB 2.0 peripheral is inserted, in the following example a memory mass storage device, the kernel recognizes the device (i.e. class, vendor id, product id, etc.)
<pre class="workstation-terminal">
root@desk-mx8mp:~# [ 949.406404] [ 6491.481175] usb 3-1: new high-speed USB device number 3 using xhci-hcd[ 9496491.559777639810] usb-storage 3-1:1.0: USB Mass Storage device detected [ 9496491.566805646905] scsi host0: usb-storage 3-1:1.0 [ 9506493.603883775259] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Force 1.00 Fanxiang F206 1100 PQ: 0 ANSI: 64[ 9506493.613554786654] sd 0:0:0:0: [sda] 60088320 61440000 512-byte logical blocks: (3031.8 5 GB/2829.7 3 GiB) [ 9506493.621925795475] sd 0:0:0:0: [sda] Write Protect is off [ 9506493.627095801799] sd 0:0:0:0: [sda] Write cache: disabledenabled, read cache: enabled, doesn't support DPO or FUA[ 9506493.688387818546] sda: sda1 [ 9506493.695304824653] sd 0:0:0:0: [sda] Attached SCSI removable disk
root@desk-mx8mp:~#
</pre>
<pre class="workstation-terminal">
root@desk-mx8mp:~# [ 10266798.205678669673] usb 4-1: new SuperSpeed Gen 1 USB device number 2 3 using xhci-hcd[ 10266798.231220703673] usb-storage 4-1:1.0: USB Mass Storage device detected[ 10266798.237848710479] scsi host0host1: usb-storage 4-1:1.0[ 10276799.275191719808] scsi 01:0:0:0: Direct-Access HYPER FLASHDISK 1507 Wilk USB DISK 3.0 PMAP PQ: 0 ANSI: 06[ 10276799.284305732902] sd 01:0:0:0: [sdasdb] 129630208 60628992 512-byte logical blocks: (6631.4 0 GB/6128.8 9 GiB)[ 10276799.292341741747] sd 01:0:0:0: [sdasdb] Write Protect is off[ 10276799.747177] sd 1:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA[ 6799.934800] sdb:[ 6799.940848] sd 1:0:0:0: [sdb] Attached SCSI removable disk</pre> ==== Usage in device mode with [https://www.kernel.org/doc/Documentation/usb/mass-storage.txt mass-storage] ==== <pre class="workstation-terminal">root@desk-mx8mp:~# dd if=/dev/zero of=mass_storage count=256 bs=1M256+0 records in 256+0 records out 268435456 bytes (268 MB, 256 MiB) copied, 0.987911 s, 272 MB/sroot@desk-mx8mp:~# mkfs.msdos mass_storage mkfs.fat 4.2 (2021-01-31)root@desk-mx8mp:~# mkdir looproot@desk-mx8mp:~# mount -o loop mass_storage loop[ 6664.248804] loop0: detected capacity change from 0 to 524288root@desk-mx8mp:~# echo "Test USB OTG with mass storage device" > loop/usb.txtroot@desk-mx8mp:~# umount looproot@desk-mx8mp:~# </pre> then insert the <code>g_mass_storage</code> kernel module driver enabling an Windows PC to see it as a ''removable device'' <pre class="workstation-terminal">root@desk-mx8mp:~# modprobe g_mass_storage removable=y file=mass_storage[ 6677.844877] Mass Storage Function, version: 2009/09/11[ 6677.850190] LUN: removable file: (no medium)[ 6677.854585] LUN: removable file: /home/root/mass_storage[ 6677.859933] Number of LUNs=1[ 6677.863239] g_mass_storage gadget: Mass Storage Gadget, version: 2009/09/11[ 6677.870221] g_mass_storage gadget: userspace failed to provide iSerialNumber[ 6677.877281] g_mass_storage gadget: g_mass_storage readyroot@desk-mx8mp:~#</pre> Once the USB cable is connected to the PC, the kernel prints the following messages: <pre class="workstation-terminal">root@desk-mx8mp:~# [ 1493.477167] g_mass_storage gadget: high-speed config #1: Linux File-Backed Storage</pre> and the Windows PC activate the driver and the disk is available as a Drive Unit (with the ''usb.txt'' file available). ===Accessing the peripheral MITO 8M Mini=== ====Linux messages==== When a USB 2.0 peripheral is inserted, in the following example a memory mass storage device, the kernel recognizes the device (i.e. class, vendor id, product id, etc.) <pre class="workstation-terminal">root@desk-mx8mm:~# [ 22.858909] usb 1-1: new high-speed USB device number 2 using ci_hdrc[ 23.022240] usb-storage 1-1:1.0: USB Mass Storage device detected[ 23.028819] scsi host0: usb-storage 1-1:1.0[ 24.045317] scsi 0:0:0:0: Direct-Access SanDisk Cruzer Force 1.00 PQ: 0 ANSI: 6[ 24.055280] sd 0:0:0:0: [sda] 60088320 512-byte logical blocks: (30.8 GB/28.7 GiB)[ 24.297451063993] sd 0:0:0:0: [sda] No Caching mode page foundWrite Protect is off[ 1027 24.302780069617] sd 0:0:0:0: [sda] Assuming drive Write cache: disabled, read cache: write throughenabled, doesn't support DPO or FUA[ 1027 24.336127142194] sda: sda1[ 1027 24.340540150358] sd 0:0:0:0: [sda] Attached SCSI removable disk
</pre>
=== Additional information in host mode === 
If the root file system configuration does not automatically mount the partition, it is possible to mount the device using the following command:
----
[[Category:ORCA]] [[Category:MITO 8M Mini]]
dave_user
427
edits