Hi,
We use MIMXRT1062DVL6B and realize our product with ethernet.
First, we implement the MAC address for our product using `SILICONID_ConvertToMacAddr` on `fsl_silicon_id.c` to get unique MAC address per device with NXP's OUI and silicon ID.
But the MAC address we got via `SILICONID_ConvertToMacAddr` was not unique, and they were all identical.
So, I have a question.
Do we have any setting before calling `SILICONID_ConvertToMacAddr`?
Or, `SILICONID_ConvertToMacAddr` does not work to get unique MAC address over the NXP device?
We couldn't find answer in IMXRT1060RM.pdf of Rev. 4, 01/2026.
Could you give us the answer?
thank you.
Hi, Abner
Thank you for your supporting,
We understood that we can use MAC address got via SILICONID_ConvertToMacAddr for our product. But I understand SILICONID_ConvertToMacAddr is just an example and we can't use it for our mass product. And we have to use the MAC address under our OUI.
Best regards.
Shigeru
Hi @shigeru-tsujita
Thanks to find this situation. SILICONID_ConvertToMacAddr is used for NXP MCUX SDK example to reduce MAC address conflict in our test environment. We connect to different Socs' eth in same switch. For this same series Soc situation, we may not cover.
But what I'm confused is why you use this way to generate your product MAC address. First of all, your OUI should use your company's one. Then the unique ID I think your company should have a internal special definition.
Hi, May.
I understand SILICONID_ConvertToMacAddr make MAC address using fixed NXP OUI and three bytes of silicon ID(it's part of OCOTP->CFG0/1).
I observed the OCOTP->CFG0/1 of our target product.
Those values are following:
- one MIMXRT1062
- OCOTP->CFG0: (uint32_t)0x615c'faa4
- OCOTP->CFG1: (uint32_t)0x2a1e'61d7
- other MIMXRT1062
- OCOTP->CFG0: (uint32_t)0x615c'faa4
- OCOTP->CFG1: (uint32_t)0x4922'61d7
Because lower three bytes of OCOTP->CFG0 is used for MAC address in SILICONID_ConvertToMacAddr, they have similar MAC address.
So, many of our product have similar MAC address. (Now we have handreds of prototype and we don't check all MAC address, but we couldn't find differnt MAC address with 54:27:8D:A4:FA:5C yet.)
thank you.
Hi @shigeru-tsujita,
Thank you so much for your interest in our products and for using our community.
Assuming the SDK silicon_id component is correctly integrated, no additional setting is required before calling SILICONID_ConvertToMacAddr() for MIMXRT1062.
Please note that SILICONID_ConvertToMacAddr() does not use the full 64-bit silicon ID to generate the MAC address. It uses a fixed NXP OUI for the first 3 bytes and only 3 bytes from the silicon ID for the last 3 bytes.
According to the SDK code:
Could you please read the 64-bit silicon unique ID from several devices and check whether the ID values are read correctly? Please also compare siliconId[0] , siliconId[1] , and siliconId[2] , as these are the bytes used to generate the MAC address.
If these three bytes are identical across devices, the generated MAC addresses will also be identical.
Best Regards
May