-
Notifications
You must be signed in to change notification settings - Fork 716
[nrf fromtree] Cherry-pick recent changes in the mspi_dw driver #3261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… generic case Supply empty vendor specific macros for cases where vendor specific functions are not needed by driver. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 98c0cc4)
The remainder of this driver functions when pin control is disabled, so make the include conditional as well to fully support this case. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit cb31e67)
…nterrupts Multilevel interrupts require that the irq number be read with DT_IRQN, so update the driver to use this macro. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 5dbaa86)
Bitmask offsets for the MSPI_DW peripheral are incorrect for the 4.03a databook for the DW APB SSI. Add a "v2" compatible to handle these changed offsets. The compatible does not define new binding properties, just modifies the register offsets. Additionally, handle writing the DFS32 mask for v2 of this compatible, as newer IP supports a dataframe size up to 32 bits. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 59d8fbc)
…ming The SSI DW peripheral supports an RX_SAMPLE_DLY register in some instances- this register controls the number of clock cycles from the default sample time before the RX input is actually sampled. This can be used to improve reliability when operating the SSI at a higher clock speed. Add an implementation of the mspi_timing_cfg api, and header to define the identifier so that users can configure this parameter Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 9c829a1)
The designware controller has an *interesting* implementation of the CS signal- CS will be de-asserted whenever the TX FIFO is empty, so slower cores may see CS de-assert prematurely if they cannot keep pace with their SPI peripheral. To help reduce odds of de-assertion, implement the following changes: - don't write SER bit until directly before we enable interrupts, so that transfers don't start early - prefix the TX FIFO before writing SER, so the FIFO can drain a bit before have to service an interrupt Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit e425b3d)
Support DDR mode within the mspi_dw driver Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit fc64fec)
…ed at entry Some systems (IE cores with bootloaders) may not disable the DW SPI peripheral at boot time. Make sure the peripheral is disabled before we try to configure it. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit a294653)
…RIVE_EDGE setting TXD_DRIVE_EDGE setting will typically be set to BAUDR/4 for DDR mode, but this may not cover all cases. Add a configurable multiplier and divisor to apply to the BAUDR value so the value's relation to BAUDR can be customized. Signed-off-by: Daniel DeGrasse <[email protected]> (cherry picked from commit 6e3a8da)
…PI_XIP disabled Move `api_timing_config()` impl outside of the block gated behind CONFIG_MSPI_XIP. Signed-off-by: Utsav Munendra <[email protected]> (cherry picked from commit 030b9f3)
Add possibility of using data strobe signal (DQS) called RXDS in the SSI documentation. This signal may be necessary to make use of DDR modes. Remove also a TODO comment that should have been removed when support for DDR was added in fc64fec. Signed-off-by: Andrzej Głąbek <[email protected]> (cherry picked from commit 0e1dfd9)
92c1897
to
f19f4a5
Compare
rlubos
approved these changes
Sep 11, 2025
nordic-piks
approved these changes
Sep 11, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
... that are needed to use Dual Data Rate modes.