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?
Solved! Go to Solution.
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
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
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?
USB_VID is Vendor ID.
USB_PID is Product ID.
USB_ID_LOCK is lock for USB_VID and USB_PID.
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