Skip to content

Conversation

@utsavm9
Copy link
Contributor

@utsavm9 utsavm9 commented Oct 30, 2025

Some of the drivers in Zephyr are bus-HAL-specific drivers. Example: Zephyr SPI, Zephyr MSPI, NRFX QSPI, STM QSPI. When users want to write flash-part specific driver with the command set of their particular flash part, they should not need to reimplment or copy everything the bus-specific driver is doing. It would be easier for users to compose their flash-vendor specific driver using the bus-specific driver already in tree.

This PR introduces the flash_ex_op API for the above goal. npcx_flash already implements similar function in their vendor extended operations:

FLASH_NPCX_EX_OP_SET_QSPI_OPER,

FLASH_NPCX_EX_OP_GET_QSPI_OPER,

I want this for Flash MSPI driver at least because setting up the MSPI transaction is not trivial, but I believe this extended operation will be relevant for more drivers too. Implementation for Flash MSPI driver to follow after a RFC on this: #98621

Allow users to write flash-vendor-specific drivers with the commands
particular to their flash part using the existing Zephyr flash drivers.

Signed-off-by: Utsav Munendra <utsavm@meta.com>
@utsavm9
Copy link
Contributor Author

utsavm9 commented Oct 30, 2025

Also requesting review from @anangl @swift-tk @rruuaanng because they have been helpful in other similar PRs.

@sonarqubecloud
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants