Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a56f4895 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull spi updates from Mark Brown:
 "Another quiet release for SPI, almost entirely driver specific changes
  with the diffstat dominated by two new drivers which are about two
  thirds of it in terms of lines of code:

   - new drivers for PIC32 standard and SQI controllers
   - the Cadence driver has had runtime PM support added and quite a few
     fixes and cleanups
   - flash-specific accelerated path support now has a feature query
     interface
   - the pxa2xx driver has been moved to use the core DMA mapping support"

* tag 'spi-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (48 commits)
  spi: pic32-sqi: Fix linker error, undefined reference to `bad_dma_ops'
  spi: dw-pci: Spelling s/paltforms/platforms/g
  spi: pic32-sqi: Remove pic32_sqi_setup and pic32_sqi_cleanup
  spi: Fix simple typo s/impelment/implement
  spi: rockchip: potential NULL dereference on error
  spi: zynqmp: disable clocks in error paths
  spi: Drop unnecessary dependencies on relaxed I/O accessors
  spi: qup: Add spi_master_put in remove function
  spi: qup: Handle clocks in pm_runtime suspend and resume
  spi: st-ssc4: Fix missing spi_master_put in spi_st_probe error paths
  spi: st-ssc4: Allow compile test build
  spi: omap2-mcspi: Use dma_request_chan() for requesting DMA channel
  spi: davinci: Use dma_request_chan() for requesting DMA channel
  spi: pic32: Fix checking return value of devm_ioremap_resource
  spi: spi-fsl-dspi: Update DT binding documentation
  spi: Drop duplicate code to set master->dev.parent
  spi: pic32: Set proper bits_per_word_mask
  spi: return error if kmap'd buffers passed to spi_map_buf()
  spi: core: add hook flash_read_supported to spi_master
  spi: pic32-sqi: silence array overflow warning
  ...
parents 8bc4d5f3 c4e85b7e
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
Microchip PIC32 SPI Master controller

Required properties:
- compatible: Should be "microchip,pic32mzda-spi".
- reg: Address and length of register space for the device.
- interrupts: Should contain all three spi interrupts in sequence
              of <fault-irq>, <receive-irq>, <transmit-irq>.
- interrupt-names: Should be "fault", "rx", "tx" in order.
- clocks: Phandle of the clock generating SPI clock on the bus.
- clock-names: Should be "mck0".
- cs-gpios: Specifies the gpio pins to be used for chipselects.
            See: Documentation/devicetree/bindings/spi/spi-bus.txt

Optional properties:
- dmas: Two or more DMA channel specifiers following the convention outlined
        in Documentation/devicetree/bindings/dma/dma.txt
- dma-names: Names for the dma channels. There must be at least one channel
             named "spi-tx" for transmit and named "spi-rx" for receive.

Example:

spi1: spi@1f821000 {
        compatible = "microchip,pic32mzda-spi";
        reg = <0x1f821000 0x200>;
        interrupts = <109 IRQ_TYPE_LEVEL_HIGH>,
                     <110 IRQ_TYPE_LEVEL_HIGH>,
                     <111 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "fault", "rx", "tx";
        clocks = <&PBCLK2>;
        clock-names = "mck0";
        cs-gpios = <&gpio3 4 GPIO_ACTIVE_LOW>;
        dmas = <&dma 134>, <&dma 135>;
        dma-names = "spi-rx", "spi-tx";
};
+1 −2
Original line number Diff line number Diff line
@@ -16,8 +16,7 @@ Required properties:

Optional property:
- big-endian: If present the dspi device's registers are implemented
  in big endian mode, otherwise in native mode(same with CPU), for more
  detail please see: Documentation/devicetree/bindings/regmap/regmap.txt.
  in big endian mode.

Optional SPI slave node properties:
- fsl,spi-cs-sck-delay: a delay in nanoseconds between activating chip
+18 −0
Original line number Diff line number Diff line
Microchip PIC32 Quad SPI controller
-----------------------------------
Required properties:
- compatible: Should be "microchip,pic32mzda-sqi".
- reg: Address and length of SQI controller register space.
- interrupts: Should contain SQI interrupt.
- clocks: Should contain phandle of two clocks in sequence, one that drives
          clock on SPI bus and other that drives SQI controller.
- clock-names: Should be "spi_ck" and "reg_ck" in order.

Example:
	sqi1: spi@1f8e2000 {
		compatible = "microchip,pic32mzda-sqi";
		reg = <0x1f8e2000 0x200>;
		clocks = <&rootclk REF2CLK>, <&rootclk PB5CLK>;
		clock-names = "spi_ck", "reg_ck";
		interrupts = <169 IRQ_TYPE_LEVEL_HIGH>;
	};
+16 −5
Original line number Diff line number Diff line
@@ -410,7 +410,6 @@ config SPI_OMAP_UWIRE
config SPI_OMAP24XX
	tristate "McSPI driver for OMAP"
	depends on HAS_DMA
	depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
	help
	  SPI master controller for OMAP24XX and later Multichannel SPI
@@ -432,10 +431,23 @@ config SPI_OMAP_100K

config SPI_ORION
	tristate "Orion SPI master"
	depends on PLAT_ORION || COMPILE_TEST
	depends on PLAT_ORION || ARCH_MVEBU || COMPILE_TEST
	help
	  This enables using the SPI master controller on the Orion chips.

config SPI_PIC32
	tristate "Microchip PIC32 series SPI"
	depends on MACH_PIC32 || COMPILE_TEST
	help
	  SPI driver for Microchip PIC32 SPI master controller.

config SPI_PIC32_SQI
	tristate "Microchip PIC32 Quad SPI driver"
	depends on MACH_PIC32 || COMPILE_TEST
	depends on HAS_DMA
	help
	  SPI driver for PIC32 Quad SPI controller.

config SPI_PL022
	tristate "ARM AMBA PL022 SSP controller"
	depends on ARM_AMBA
@@ -469,7 +481,6 @@ config SPI_PXA2XX_PCI

config SPI_ROCKCHIP
	tristate "Rockchip SPI controller driver"
	depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SUPERH
	help
	  This selects a driver for Rockchip SPI controller.

@@ -569,7 +580,7 @@ config SPI_SIRF

config SPI_ST_SSC4
	tristate "STMicroelectronics SPI SSC-based driver"
	depends on ARCH_STI
	depends on ARCH_STI || COMPILE_TEST
	help
	  STMicroelectronics SoCs support for SPI. If you say yes to
	  this option, support will be included for the SSC driven SPI.
@@ -656,7 +667,7 @@ config SPI_XILINX

config SPI_XLP
	tristate "Netlogic XLP SPI controller driver"
	depends on CPU_XLP || COMPILE_TEST
	depends on CPU_XLP || ARCH_VULCAN || COMPILE_TEST
	help
	  Enable support for the SPI controller on the Netlogic XLP SoCs.
	  Currently supported XLP variants are XLP8XX, XLP3XX, XLP2XX, XLP9XX
+2 −0
Original line number Diff line number Diff line
@@ -62,6 +62,8 @@ obj-$(CONFIG_SPI_OMAP_100K) += spi-omap-100k.o
obj-$(CONFIG_SPI_OMAP24XX)		+= spi-omap2-mcspi.o
obj-$(CONFIG_SPI_TI_QSPI)		+= spi-ti-qspi.o
obj-$(CONFIG_SPI_ORION)			+= spi-orion.o
obj-$(CONFIG_SPI_PIC32)			+= spi-pic32.o
obj-$(CONFIG_SPI_PIC32_SQI)		+= spi-pic32-sqi.o
obj-$(CONFIG_SPI_PL022)			+= spi-pl022.o
obj-$(CONFIG_SPI_PPC4xx)		+= spi-ppc4xx.o
spi-pxa2xx-platform-objs		:= spi-pxa2xx.o spi-pxa2xx-dma.o
Loading