Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Peripherals/USB2 OTG

4,547 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|17615|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 == 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.
=== Device tree configuration ===
==== ORCA SOM ====
Here below an example of device tree configuration used on standard DAVE's kit for the ORCA SOM:
...
...
&usb3_phy0 usb3_phy1 { vbus-power-supply = <&ptn5110>; fsl,phy-tx-vref-tune = <6>; fsl,phy-tx-rise-tune = <0>; fsl,phy-tx-preemp-amp-tune = <3>; fsl,phy-comp-dis-tune = <7>; fsl,pcs-tx-deemph-3p5db = <0x21>; fsl,phy-pcs-tx-swing-full = <0x7f2>;
status = "okay";
};
&usb3_0 usb3_1 {
status = "okay";
};
&usb_dwc3_0 usb_dwc3_1 { dr_mode = "hostotg"; extcon = <&extcon_usbotg2>; hnp-disable; srp-disable; adp-disable; rsp-disable; disable-over-current;
status = "okay";
 
port {
usb3_drd_sw: endpoint {
remote-endpoint = <&typec_dr_sw>;
};
};
};
......
</pre>
==== MINIMITO 8M Mini ====
Here below an example of device tree configuration used on standard DAVE's kit for the MINI SOMMITO 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===
===Accessing the peripheral=======Linux messages at boot timein 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:~# [ 2406 949.464399406404] usb 6-1: USB disconnect, device number 2[ 24076491.644440481175] usb 23-1.3: new SuperSpeed Gen 1 high-speed USB device number 3 using xhci-hcd[ 24076491.670023639810] usb-storage 23-1.3:1.0: USB Mass Storage device detected [ 24076491.677192646905] scsi host0: usb-storage 23-1.3:1.0 [ 24086493.691090775259] scsi 0:0:0:0: Direct-Access HYPER FLASHDISK 1507 Fanxiang F206 1100 PQ: 0 ANSI: 04[ 24086493.701469786654] sd 0:0:0:0: [sda] 129630208 61440000 512-byte logical blocks: (6631.4 5 GB/6129.8 3 GiB) [ 24086493.709458795475] sd 0:0:0:0: [sda] Write Protect is off [ 24086493.714509801799] sd 0:0:0:0: [sda] No Caching mode page found[ 2408.719856] sd 0Write cache:0:0:0: [sda] Assuming drive enabled, read cache: write throughenabled, doesn't support DPO or FUA[ 24086493.743246818546] sda: sda1 [ 24086493.747220824653] sd 0:0:0:0: [sda] Attached SCSI removable disk
root@desk-mx8mp:~#
</pre>
When a USB 3.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:~# [ 6798.669673] usb 4-1: new SuperSpeed USB device number 3 using xhci-hcd[ 6798.703673] usb-storage 4-1:1.0: USB Mass Storage device detected[ 6798.710479] scsi host1: usb-storage 4-1:1.0[ 6799.719808] scsi 1:0:0:0: Direct-Access Wilk USB DISK 3.0 PMAP PQ: 0 ANSI: 6[ 6799.732902] sd 1:0:0:0: [sdb] 60628992 512-byte logical blocks: (31.0 GB/28.9 GiB)[ 6799.741747] sd 1:0:0:0: [sdb] Write Protect is off[ 6799.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.063993] sd 0:0:0:0: [sda] Write Protect is off[ 24.069617] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA[ 24.142194] sda: sda1[ 24.150358] 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
424
edits