Serial Download using USB A/B connectors on iMX8M Mini

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Serial Download using USB A/B connectors on iMX8M Mini

7,053 Views
thorben
Contributor II

Hi,
we'd like to connect the iMX8M Mini USB Ports to either USB A or B connectors and maintain the the Serial Download funktionality. Could you provide a Application Note describing how to do this and what to keep in mind?
Thank you in advance.

Labels (1)
8 Replies

5,758 Views
raik_seliger
Contributor II

I have a similar issue, but with the i.MX8M Nano (only one USB host port) and my question is, if the serial download mode with UUU tool will also work, if the ID pin and VBUS pin are not connected (ID pin floating and VBUS pin driven low, because power distribution switch for USB host is not enabled).

5,758 Views
karangajjar
Senior Contributor II

Hi thorben

Please refer to the https://www.nxp.com/webapp/Download?colCode=IMX8MMEVKHUG  and https://www.nxp.com/webapp/Download?colCode=imx-yocto-L4.14.98_2.0.0_ga&location=null  for details like switch settings and steps to follow for serial download mode.

Regards,

Karan Gajjar

0 Kudos

5,758 Views
thorben
Contributor II

Hi Karan Gajjar,

thank you for your answer. We want do design a PCB where we connect the USB interface of the iMX8M Mini to USB type A or type B connectors instead of type C. Can you provide a Application Note describing how to do this and what to keep in mind?

We still need the download feature but we can not use type C ports.

Kind regards,

Thorben

0 Kudos

5,758 Views
karangajjar
Senior Contributor II

Hi thorben

We had a talk with our hardware engineer and he suggested that overall there will be quite an amount of changes to be done for your requirement however at a glance it looks like it will be same as Type A and B USB connectivity. Just need to add ESD protection diode for DM and DP lines. And there is no use of U302, U303, U308, U305, U306 and U310. But need to configure ID pin for Host/Device/OTG if available.

Regards,

Karan Gajjar

0 Kudos

5,758 Views
thorben
Contributor II

Hi Karan Gajjar,U301

we modified one of our boards in the way you mentioned. We removed U303 and U302. Additionally we removed U301 and F301. We took USB1_ID, USB1_DP, USB1_DN, USB1_VBUS and GND from their corresponding TPs and "routed" them to a multi-pin connector. This way we're able to connect USB without the USB type C connector J301.
The board enumerates in serial download mode as "Blank M845S" like it should but during flash using the uuu tool, the bootloader imx-boot-imx8mmevk-sd.bin-flash_evk crashes and we can't access FB mode. Please see error message at the bottom.

In U-Boot we noticed the setup_typec function as well as i2c access to, probably, U303 and/or U302. I tried to disable using Type C via CONFIG_USB_TCPC in imx8mm_evk_defconfig, but that only causes U-Boot to fall back into command line mode because of g_dnl_register: failed!, error: -19.

What (else) do we need to do/change (i.e. in U-Boot), to get our setup running?

Best regards,

Thorben

Card did not respond to voltage select!
Detect USB boot. Will enter fastboot mode!
Net:
Warning: ethernet@30be0000 using MAC address from ROM
eth0: ethernet@30be0000
Fastboot: Normal
Boot from USB for mfgtools
Use default environment for mfgtools
Run bootcmd_mfg: run mfgtool_args;if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else booti ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo "Run fastboot ..."; fastboot 0; fi;
Hit any key to stop autoboot: 0

## Checking Image at 43800000 ...
Unknown image format!
Run fastboot ...
dev_get_parent_platdata: null device
"Synchronous Abort" handler, esr 0x96000004
elr: 0000000040230b34 lr : 0000000040230b28 (reloc)
elr: 00000000bdf40b34 lr : 00000000bdf40b28
x0 : 0000000014000280 x1 : 00000000308900b4
x2 : 00000000bdf31640 x3 : 0000000000000001
x4 : 00000000ffffffff x5 : 0000000000000000
x6 : 00000000bc908000 x7 : 00000000ffffffd0
x8 : 0000000000000000 x9 : 0000000000000008
x10: 0004000180018008 x11: 00000000bd108d60
x12: 0000000000000002 x13: 0000000000000004
x14: 00000000bc9083ec x15: 0000000000000008
x16: 0000000000001080 x17: 0000000000000000
x18: 00000000bc90fda0 x19: 0000000000000000
x20: 0000000000000001 x21: 00000000bc9080df
x22: 0000000000000000 x23: 000000000000001d
x24: 0000000000000002 x25: 0000000000000001
x26: 0000000000000000 x27: 0000000000000000
x28: 00000000bd11ab10 x29: 00000000bc908010

Resetting CPU ...

resetting ...

0 Kudos

5,758 Views
satokimiyasu
Contributor II

Anyone do you have solution about change from USB Type-C toType-B mini?
I also met same problem on serial download at our custome board.
It can't go to download image by some issue on uboot. 
In my case console log is folowing.
"g_dnl_register: failed!, error: -19"

0 Kudos

5,758 Views
thorben
Contributor II

I did solve it by removing CONFIG_USB_TCPC in imx8mm_evk_defconfi and well as removing the typec_ptn5110_1/2 dependencies in the fsl-imx8mm-evk.dts

The uboot does check the state of the Type C ICs and crash or gets stuck if they are removed.

CONFIG_USB_TCPC=n

&usbotg1 {
    status = "okay";
};


&usbotg2 {
    status = "okay";
};

5,758 Views
thorben
Contributor II

Hi Karan Gajjar,

thank you. As we need the download feature in production, USB1_ID will be working even if there is only basic ROM software running in iMX8M Mini? The USB block inside the SoC will recognize USB1_ID and toggle between Host and Device mode?

Also, is USB1_P1_ID the intended ID pin and USB1_OTG_ID just an alternative signal location?

Best regards,
Thorben

0 Kudos