we have an existing product based on the IMX7D architecture which we are updating from linux V4.14 to V5..4.40.
On the V4.14 build the product used the fsl_otp driver to read and write the fuses. As this is no longer supported, we are moving to use the NVMEM driver and imx_otp driver.
Checking the device tree include files, there is the following ocotp entry in imx7s.dtsi

Following the solution posted by NXP here https://community.nxp.com/t5/i-MX-Processors/OCOTP-write-support-on-i-mx8m/m-p/825028 (Note: I have checked that the contents of the patch provided in the answer is present in the driver version I am using).
I should now be able to read the content of the nvmem file using hexdump. However I cant.
I have two devices appearing in the /sys/bus/devices/ directory. one is a real time clock included in our top level device tree, the other is the imx_ocotp node.

I can read the content of the ds1307 device

However I cant read the nvmem of the ocotp device.

Because we can read the other device I think it is safe to assume that the NVMEM functionality is working. Which leads me to suspect that the imx_ocotp driver is not working?
I've tried using different versions of the driver and different entries in the device tree files to no avail. Am I missing any steps here or is the driver not working on this build of linux?