forked from mirrors/linux
		
	spi: add driver for STM32 SPI controller
The STM32 Serial Peripheral Interface (SPI) can be used to communicate with external devices while using the specific synchronous protocol. It supports a half-duplex, full-duplex and simplex synchronous, serial communication with external devices with 4-bit to 16/32-bit per word. It has two 8x/16x 8-bit embedded Rx and TxFIFOs with DMA capability. It can operate in master or slave mode. Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
		
							parent
							
								
									82a29bf995
								
							
						
					
					
						commit
						dcbe0d84df
					
				
					 3 changed files with 1277 additions and 0 deletions
				
			
		| 
						 | 
					@ -619,6 +619,16 @@ config SPI_SIRF
 | 
				
			||||||
	help
 | 
						help
 | 
				
			||||||
	  SPI driver for CSR SiRFprimaII SoCs
 | 
						  SPI driver for CSR SiRFprimaII SoCs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config SPI_STM32
 | 
				
			||||||
 | 
						tristate "STMicroelectronics STM32 SPI controller"
 | 
				
			||||||
 | 
						depends on ARCH_STM32 || COMPILE_TEST
 | 
				
			||||||
 | 
						help
 | 
				
			||||||
 | 
						  SPI driver for STMicroelectonics STM32 SoCs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						  STM32 SPI controller supports DMA and PIO modes. When DMA
 | 
				
			||||||
 | 
						  is not available, the driver automatically falls back to
 | 
				
			||||||
 | 
						  PIO mode.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config SPI_ST_SSC4
 | 
					config SPI_ST_SSC4
 | 
				
			||||||
	tristate "STMicroelectronics SPI SSC-based driver"
 | 
						tristate "STMicroelectronics SPI SSC-based driver"
 | 
				
			||||||
	depends on ARCH_STI || COMPILE_TEST
 | 
						depends on ARCH_STI || COMPILE_TEST
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -89,6 +89,7 @@ obj-$(CONFIG_SPI_SH_HSPI)		+= spi-sh-hspi.o
 | 
				
			||||||
obj-$(CONFIG_SPI_SH_MSIOF)		+= spi-sh-msiof.o
 | 
					obj-$(CONFIG_SPI_SH_MSIOF)		+= spi-sh-msiof.o
 | 
				
			||||||
obj-$(CONFIG_SPI_SH_SCI)		+= spi-sh-sci.o
 | 
					obj-$(CONFIG_SPI_SH_SCI)		+= spi-sh-sci.o
 | 
				
			||||||
obj-$(CONFIG_SPI_SIRF)		+= spi-sirf.o
 | 
					obj-$(CONFIG_SPI_SIRF)		+= spi-sirf.o
 | 
				
			||||||
 | 
					obj-$(CONFIG_SPI_STM32) 		+= spi-stm32.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
 | 
				
			||||||
obj-$(CONFIG_SPI_SUN6I)			+= spi-sun6i.o
 | 
					obj-$(CONFIG_SPI_SUN6I)			+= spi-sun6i.o
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										1266
									
								
								drivers/spi/spi-stm32.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1266
									
								
								drivers/spi/spi-stm32.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue