Hi Mario,
I'm Marius (from NXP) - working for SE (Systems Engineering) Security group.
First of all, please use your private community group.
Secondly, indeed, there is a big change with the OTP driver from Linux. This was working just fine (both read/write operations) for i.mx6/7 and but starting with 4.14 GA release we support only read operations for all i.MX families.
Currently there is no plan to extend the functionality of the nvmem driver past read support.
The 4.14 kernel currently only supports reads even for the mx6 and mx7 families through the NVMEM driver.
Customers should use only u-boot level to program the fuses.
We never recommended in our i.MX8M (secure boot at least) documentation to use the Linux driver or the commands from Linux user-space to program the fuses.
Maybe there is somebody recommended them this way..or they just are familiar with the old way from i.mx6/7 families in the previous Linux BSPs.
But I have also some good news, you can use uuu (aka mfgtool 3.0) if you want a more powerful tool (if u-boot is not enough) and to automate the fuses programming. A snapshot from some internal uuu doc – (is working also with your chip):
2.1.2 - Programing eFuses using UUU (Universal Update Utility)
The UUU (Universal Update Utility) is a SDP protocol flash programming tool:
Github - UUU (Universal Update Utility) - mfgtools 3.0
The uuu.auto file contains a set of commands used for properly flashing the targeted device:
Wiki - UUU Sample Scripts
Users can add U-Boot commands to program a set of eFuses depending on their specific use case. The command lines below added in i.MX8QXP uuu.auto file can be used as an example on how to program the MAC1_ADDR[47:00] fuses in i.MX8QXP:
SDPS: boot -f imx-boot-imx8qxpmek-sd.bin-flash
+FB: ucmd fuse prog -y 0 708 0xa295fc11
+FB: ucmd fuse prog -y 0 709 0x000017b4
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd mmc dev ${emmc_dev}
Thank you,
Marius