About USB_ID_LOCK, USB_VID and USB_PID in i.MX8MM

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

About USB_ID_LOCK, USB_VID and USB_PID in i.MX8MM

Jump to solution
153 Views
Sampo
Contributor I

Our company is making a product based on i.MX8MM and we have our own USB VID (Vendor ID). We would like to change the VID and PID of the processor, so that it cannot be changed afterwards.

Looking at the reference manual, I can see there are fuses called USB_ID_LOCK, USB_VID and USB_PID. Those sound like they could be used to do what we want. But I was unable to find any documentation on how to use them, endianness of the IDs etc. Is there any available.

Bonus question: will UUU stop working if we change the VID and PID of the processor?

Labels (1)
0 Kudos
1 Solution
101 Views
jimmychan
NXP TechSupport
NXP TechSupport

Hello,

 

This is a known issue of i.MX8MM that the USB_ID_LOCK was programmed. The impacted part number is "MIMX8MMxxxxxZAA". So, customer cannot program the USB_PID and USB_VID fuses on impacted devices.

 

Best regards

Jimmy

View solution in original post

0 Kudos
5 Replies
133 Views
jimmychan
NXP TechSupport
NXP TechSupport

Hello,

 

You could change the values in the defconfig file.

For example:

u-boot-imx/2023.04-r0/git/configs$ cat imx8mm_evk_defconfig |grep USB_GADGET
CONFIG_SPL_USB_GADGET=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="FSL"
CONFIG_USB_GADGET_VENDOR_NUM=0x1fc9
CONFIG_USB_GADGET_PRODUCT_NUM=0x0152
CONFIG_USB_GADGET_DOWNLOAD=y

0 Kudos
120 Views
Sampo
Contributor I

I am aware I can change those values in SW. But is there any documentation on the use of the fuses USB_ID_LOCK, USB_VID and USB_PID? What is their purpose or use case?

0 Kudos
116 Views
jimmychan
NXP TechSupport
NXP TechSupport

USB_VID is Vendor ID.

USB_PID is Product ID.

USB_ID_LOCK is lock for USB_VID and USB_PID.

0 Kudos
105 Views
Sampo
Contributor I
I understand what they mean. I was looking for some sort of specification or explanation on what writing the fuses would do.

I was however a moot point. I decided just to try and see what happens when I write them, and it turned out that they are write protected (as per USB_ID_LOCK). So I guess we have no other option than to set them in SW.

Could you please confirm that fuses USB_VID and USB_PID are always write-protected in i.MX8MM? Or is there any way to write them?
0 Kudos
102 Views
jimmychan
NXP TechSupport
NXP TechSupport

Hello,

 

This is a known issue of i.MX8MM that the USB_ID_LOCK was programmed. The impacted part number is "MIMX8MMxxxxxZAA". So, customer cannot program the USB_PID and USB_VID fuses on impacted devices.

 

Best regards

Jimmy

0 Kudos