Adding OTP-only device to MTD or CHAR subsystem?
Scott Branden
sbranden at broadcom.com
Wed Jan 13 14:05:54 PST 2016
Hi Srini,
On 16-01-09 03:13 AM, Srinivas Kandagatla wrote:
> Hi Scott,
>
> Sorry for long delay in replying.. :-)
> On 29/12/15 00:32, Scott Branden wrote:
>> +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?
> NVMEM was started to be simple interface based on regmap, As of today we
> did not have any users which wanted lock feature, but Am open for more
> discussion on this if we want to get this feature via nvmem.
>
> Any ideas and patches are welcome.
Yes, as I move to the nvmem model we will need to look at adding lock
feature.
>
> Few ideas from my side though,
> From Kernel side: introduce nvmem_lock()/nvmem_unlock() apis which
> would set the ranges as required, and the providers can use regmap
> callbacks writeable_reg()/readable_reg() in regmap configs to enforce
> the lock range
The bfin-otp in drivers/char already solves this problem and I think we
should move that functionality over?
>
> From userspace side, As of today nvmem only provides an binary file
> interface, which we could probably extend to device based and provide
> userspace abi.
The bfin-otp in drivers/char already solves this problem and I think we
should move that functionality over?
>
> Lets continue discussion !!
>
> --srini
>
>
>
>>>
>>> Arnd
>>>
>> Regards,
>> Scott
>
More information about the linux-mtd
mailing list