diff options
| author | Miquel Raynal <miquel.raynal@bootlin.com> | 2026-03-26 17:47:15 +0100 |
|---|---|---|
| committer | Miquel Raynal <miquel.raynal@bootlin.com> | 2026-05-04 15:07:37 +0200 |
| commit | 38fbe4b3f66e5b8e2f2ab8e7ca3d912e1e935fe2 (patch) | |
| tree | 42451a373ed7cec7c323cdb2c303aa15c0ad4ae5 /scripts | |
| parent | 6f96f2fa152518d93ffeedbea781db50aef7f7dc (diff) | |
spi: spi-mem: Add a no_cs_assertion capability
Some controllers are 'smart', and that's a problem.
For instance, the Cadence quadspi controller is capable of deasserting
the CS automatically whenever a too long period of time without any data
to transfer elapses.
This 'feature' combined with a loaded interconnect with arbitration, a
"long" transfer may be split into smaller DMA transfers. In this case
the controller may allow itself to deassert the CS between chunks.
Deasserting the CS stops any ongoing continuous read. Reasserting it
later to continue the reading will only result in the host getting
garbage.
In this case, the host controller driver has no control over the CS
state, so we cannot reliably enable continuous reads. Flag this
limitation through a spi-mem controller capability.
The inversion in the flag name (starting with 'no_') is voluntary, in
order to avoid the need to set this flag in all controller drivers. Only
the broken controllers shall set this bit, the default being that the
controller masters its CS fully.
Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions
