- 
                Notifications
    
You must be signed in to change notification settings  - Fork 720
 
Mspi dw async dma #3435
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
      
      
    
                
     Merged
            
            Mspi dw async dma #3435
      
        
          +722
        
        
          −107
        
        
          
        
      
    
  
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
    
  
  
    
    5e0eb37    to
    5bd6f66      
    Compare
  
    
              
                    anangl
  
              
              approved these changes
              
                  
                    Oct 28, 2025 
                  
              
              
            
            
              
                    rob-robinson-14
  
              
              approved these changes
              
                  
                    Oct 30, 2025 
                  
              
              
            
            
| 
           manifest PR: nrfconnect/sdk-nrf#25373  | 
    
The nrf-qspi-v2 peripheral is similar to EXMIF on nrf54h20 but supports DMA and slave-mode. The wrapper around the SSI IP is also different with DMA features. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit 72dd539)
Support for new MSPI peripheral where there is no PSEL so pins are setup through CTRLSEL. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit ac94ca7)
This is a new callback option that drivers can use for when a request or xfer has timed out. E.g if an Async RX request never received anything, this callback can be used so a user can clean up their application. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit a322957)
enum mspi_op_mode in mspi.h has different syntax to this binding. Aligning these will allow for cleaner code in the implmented drivers. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit 032ca4c)
Handling of asynchronous transfers uses the system workqueue, hence they are not available when multithreading is disabled. Also add missing dependency on multithreading in the MSPI_DW_HANDLE_FIFOS_IN_SYSTEM_WORKQUEUE Kconfig option. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no> (cherry picked from commit 2f1ee73)
MSPI slave mode is selected through devicetree using the op-mode property. Mode selected by SSIISMST bit in the CTRLR0 register. EXMIF can only be Master (controller). Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit a18fd95)
Initial DMA support. DMA supports implementation of SSI IP but using vendor specific DMA in the wrapper. The setup of the DMA is done in mspi_dw_vendor_specific.h. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit d9677bb)
There is a scenario where a Bus fault occurs as the power management isn't initialised yet and the core is attempted to be turned off via the ssienr register. This commit edits this so the core register is written to after the initialisation of the power management. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit 4bf6a756280be4d90edf96f1a4c088c4620be41d)
Dual data rate isn't always supported so this config enables/disables the relevant code in the driver. Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no> (cherry picked from commit 55af2824dc9ab25100f625c24d84cdbc489ecef4)
5bd6f66    to
    f4225dd      
    Compare
  
    
  
    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.
  
    
  
    
Support for async and DMA transactions for mspi_dw driver as well as initial support for qspi_v2 driver from these PRs:
zephyrproject-rtos/zephyr#94469
zephyrproject-rtos/zephyr#98152