We are going to make product based on IMX8MQ (MIMX8MQ6DVAJZAA) processor. Currently we are doing POC on IMX8MQ processor EVK.
- We need unique ID of the board for our use case. As per Technical Reference Manual we have two registers (0x30350410 and 0x30350420) in OCOTP controller for this purpose.
- The issue is that we are not able to access it from user space. (using devmem utility).
- Whenever we try to access these registers board got hang for few seconds and reboot.
- This issue is same if we try to access any registers of OCOTP controller. (base : 0x30350000)
- Is there any specific method to access these registers? Are we missing anything?
- We also find the in kernel there is already driver exist for this purpose (drivers/soc/imx/soc-imx8.c) which provides unique ID via sysfs interface as ( cat /sys/devices/soc0/soc_uid). We see that this driver reads these registers at early stage of kernel booting.
- We want to access same unique ID in our custom driver to access soc_uid via proc entry due to code modularity with older products(based on IMX6Q). But it is not accessible via custom driver. It shows same behavior as devmem.
- In IMX6Q we didn't face such issue while accessing OCOTP registers via devmem or custom driver.
Please provide your suggestion if we are missing anything.