Sending vendor specific commands to spi-nor flash
Paul Barker
paul.barker at sancloud.com
Wed May 18 05:32:31 PDT 2022
Hi,
We're looking to add support for sending vendor specific commands to
Micron Authenta flash devices over the SPI bus. Since we're using the
MTD block interface to support a filesystem on the SPI flash we need to
send these vendor specific commands via some sort of IOCTL.
I can see a couple of ways to achieve this (as follows) and would like
to get some feedback from the MTD & spi-nor maintainers on which
approach is preferred:
1) Add new IOCTLs to the mtdchar device to support these vendor specific
operations. An initial set of patches was sent back in October 2021
which took this route [1], but no further progress was made. The new
IOCTLs would exist for all mtdchar devices (regardless of vendor) if we
go this route and we'd need to ensure -EINVAL or -ENOTSUPP is returned
as appropriate if these IOCTLs are called on a device which does not
implement them.
2) Add a vendor-specific IOCTL layer to the mtdchar device interface.
When the mtdchar IOCTL handler is called with a command not defined in
mtdchar.c, pass the call on to a device-specific IOCTL handler which can
potentially handle vendor specific commands.
3) Add a generic SPI transfer IOCTL for spi-nor MTD devices. This would
avoid the need to define IOCTLs for every vendor specific command
supported by SPI flash devices. Instead, knowledge of the vendor
specific commands would be kept in userspace and the kernel would simply
provide an API for sending & receiving arbitrary bytes over the SPI bus.
This is similar to the MMC_IOC_CMD IOCTL supported by the MMC driver.
My preference would be for option (3) since it minimizes the scope of
the changes we need to make in the kernel. We're not tied to this
though, so let us know if a different option is preferred.
[1]:
https://lore.kernel.org/linux-mtd/20211027103352.8879-1-sshivamurthy@micron.com/T/
Regards,
--
Paul Barker
Principal Software Engineer
SanCloud Ltd
e: paul.barker at sancloud.com
w: https://sancloud.com/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xA67255DFCCE62ECD.asc
Type: application/pgp-keys
Size: 7526 bytes
Desc: OpenPGP public key
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20220518/cc38a903/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-mtd/attachments/20220518/cc38a903/attachment-0001.sig>
More information about the linux-mtd
mailing list