forked from mirrors/linux
		
	spi: stm32: Add OSPI driver
Add STM32 OSPI driver, it supports :
  - support sNOR / sNAND devices.
  - Three functional modes: indirect, automatic-status polling,
    memory-mapped.
  - Single-, dual-, quad-, and octal-SPI communication.
  - Dual-quad communication.
  - Single data rate (SDR).
  - DMA channel for indirect mode.
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://patch.msgid.link/20250219080059.367045-3-patrice.chotard@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org>
			
			
This commit is contained in:
		
							parent
							
								
									bed97e3578
								
							
						
					
					
						commit
						79b8a705e2
					
				
					 3 changed files with 1076 additions and 0 deletions
				
			
		|  | @ -1045,6 +1045,16 @@ config SPI_STM32 | ||||||
| 	  is not available, the driver automatically falls back to | 	  is not available, the driver automatically falls back to | ||||||
| 	  PIO mode. | 	  PIO mode. | ||||||
| 
 | 
 | ||||||
|  | config SPI_STM32_OSPI | ||||||
|  | 	tristate "STMicroelectronics STM32 OCTO SPI controller" | ||||||
|  | 	depends on ARCH_STM32 || COMPILE_TEST | ||||||
|  | 	depends on OF | ||||||
|  | 	depends on SPI_MEM | ||||||
|  | 	help | ||||||
|  | 	  This enables support for the Octo SPI controller in master mode. | ||||||
|  | 	  This driver does not support generic SPI. The implementation only | ||||||
|  | 	  supports spi-mem interface. | ||||||
|  | 
 | ||||||
| config SPI_STM32_QSPI | config SPI_STM32_QSPI | ||||||
| 	tristate "STMicroelectronics STM32 QUAD SPI controller" | 	tristate "STMicroelectronics STM32 QUAD SPI controller" | ||||||
| 	depends on ARCH_STM32 || COMPILE_TEST | 	depends on ARCH_STM32 || COMPILE_TEST | ||||||
|  |  | ||||||
|  | @ -137,6 +137,7 @@ obj-$(CONFIG_SPI_SN_F_OSPI)		+= spi-sn-f-ospi.o | ||||||
| obj-$(CONFIG_SPI_SPRD)			+= spi-sprd.o | obj-$(CONFIG_SPI_SPRD)			+= spi-sprd.o | ||||||
| obj-$(CONFIG_SPI_SPRD_ADI)		+= spi-sprd-adi.o | obj-$(CONFIG_SPI_SPRD_ADI)		+= spi-sprd-adi.o | ||||||
| obj-$(CONFIG_SPI_STM32) 		+= spi-stm32.o | obj-$(CONFIG_SPI_STM32) 		+= spi-stm32.o | ||||||
|  | obj-$(CONFIG_SPI_STM32_OSPI) 		+= spi-stm32-ospi.o | ||||||
| obj-$(CONFIG_SPI_STM32_QSPI) 		+= spi-stm32-qspi.o | obj-$(CONFIG_SPI_STM32_QSPI) 		+= spi-stm32-qspi.o | ||||||
| obj-$(CONFIG_SPI_ST_SSC4)		+= spi-st-ssc4.o | obj-$(CONFIG_SPI_ST_SSC4)		+= spi-st-ssc4.o | ||||||
| obj-$(CONFIG_SPI_SUN4I)			+= spi-sun4i.o | obj-$(CONFIG_SPI_SUN4I)			+= spi-sun4i.o | ||||||
|  |  | ||||||
							
								
								
									
										1065
									
								
								drivers/spi/spi-stm32-ospi.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1065
									
								
								drivers/spi/spi-stm32-ospi.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue
	
	 Patrice Chotard
						Patrice Chotard