Re: Adding OTP-only device to MTD or CHAR subsystem?

From: Scott Branden
Date: Mon Dec 28 2015 - 19:32:56 EST


+Srinivas/Maxime

On 15-12-28 03:38 PM, Arnd Bergmann wrote:
On Monday 28 December 2015 15:21:08 Scott Branden wrote:
Greg/Brian/Arnd,

We have OTP device drivers for accessing OTP memory in our SoCs.

I looking for the right place and model to place such OTP device drivers.

1) Should we follow the bfin-otp model in drivers/char? This doesn't
seem like the right place to put it although following the bfin example
is quite simple to implement. We actually had a custom set of Ioctl's
that I changed to use the standard file access model used by the bfin
driver. But a custom util is still needed to issue an OTPLOCK command.
I'm guess mtd-utils has such abilities (or should).

2) Instead, should we start adding OTP-only drivers into the MTD
subsystem? Onenand and CFI based MTD devices already have OTP
programmable regions. If we created a new OTP device type in the MTD
subsystem this looks like a good thing to do. mtd-utils could/should be
used to access the OTP device then along with standard fileio operations.

3) Or some other suggestion of where to place OTP device drivers?

I think drivers/nvmem is now the right place for this.
Thanks for the pointer Arnd. Too bad an extension wasn't added in MTD but at least there is some sort of a model in place now. The mtd-abi.h would have been a good thing to use for OTPLOCK as well as the remainder of the functionality in MTD OTP. The mapping of nvmem to properties to user settings seems like a useful feature though.

Hi Srinivas/Maxime,
The nvmem drivers don't seem to support row unlocking of OTP. Having raw write access to the OTP is not a desirable feature. Are there plans in place to add any additional functionality to the nvm driver model right now?

Arnd

Regards,
Scott
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/