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

Commit 2d2e7d19 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull spi updates from Mark Brown:
 "A respun version of the merges for the pull request previously sent
  with a few additional fixes.  The last two merges were fixed up by
  hand since the branches have moved on and currently have the prior
  merge in them.

  Quite a busy release for the SPI subsystem, mostly in cleanups big and
  small scattered through the stack rather than anything else:

   - New driver for the Broadcom BC63xx HSSPI controller
   - Fix duplicate device registration for ACPI
   - Conversion of s3c64xx to DMAEngine (this pulls in platform and DMA
     changes upon which the transiton depends)
   - Some small optimisations to reduce the amount of time we hold locks
     in the datapath, eliminate some redundant checks and the size of a
     spi_transfer
   - Lots of fixes, cleanups and general enhancements to drivers,
     especially the rspi and Atmel drivers"

* tag 'spi-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (112 commits)
  spi: core: Fix transfer failure when master->transfer_one returns positive value
  spi: Correct set_cs() documentation
  spi: Clarify transfer_one() w.r.t. spi_finalize_current_transfer()
  spi: Spelling s/finised/finished/
  spi: sc18is602: Convert to use bits_per_word_mask
  spi: Remove duplicate code to set default bits_per_word setting
  spi/pxa2xx: fix compilation warning when !CONFIG_PM_SLEEP
  spi: clps711x: Add MODULE_ALIAS to support module auto-loading
  spi: rspi: Add missing clk_disable() calls in error and cleanup paths
  spi: rspi: Spelling s/transmition/transmission/
  spi: rspi: Add support for specifying CPHA/CPOL
  spi/pxa2xx: initialize DMA channels to -1 to prevent inadvertent match
  spi: rspi: Add more QSPI register documentation
  spi: rspi: Add more RSPI register documentation
  spi: rspi: Remove dependency on DMAE for SHMOBILE
  spi/s3c64xx: Correct indentation
  spi: sh: Use spi_sh_clear_bit() instead of open-coded
  spi: bitbang: Grammar s/make to make/to make/
  spi: sh-hspi: Spelling s/recive/receive/
  spi: core: Improve tx/rx_nbits check comments
  ...
parents 15333539 8b8b773e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ only 1(SINGLE), 2(DUAL) and 4(QUAD).
Dual/Quad mode is not allowed when 3-wire mode is used.

If a gpio chipselect is used for the SPI slave the gpio number will be passed
via the cs_gpio
via the SPI master node cs-gpios property.

SPI example for an MPC5200 SPI bus:
	spi@f00 {
+7 −1
Original line number Diff line number Diff line
@@ -3,6 +3,11 @@ TI QSPI controller.
Required properties:
- compatible : should be "ti,dra7xxx-qspi" or "ti,am4372-qspi".
- reg: Should contain QSPI registers location and length.
- reg-names: Should contain the resource reg names.
	- qspi_base: Qspi configuration register Address space
	- qspi_mmap: Memory mapped Address space
	- (optional) qspi_ctrlmod: Control module Address space
- interrupts: should contain the qspi interrupt number.
- #address-cells, #size-cells : Must be present if the device has sub-nodes
- ti,hwmods: Name of the hwmod associated to the QSPI

@@ -14,7 +19,8 @@ Example:

qspi: qspi@4b300000 {
	compatible = "ti,dra7xxx-qspi";
	reg = <0x4b300000 0x100>;
	reg = <0x47900000 0x100>, <0x30000000 0x3ffffff>;
	reg-names = "qspi_base", "qspi_mmap";
	#address-cells = <1>;
	#size-cells = <0>;
	spi-max-frequency = <25000000>;
+4 −4
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ SPI slave functions are usually not interoperable between vendors
  - It may also be used to stream data in either direction (half duplex),
    or both of them at the same time (full duplex).

  - Some devices may use eight bit words.  Others may different word
  - Some devices may use eight bit words.  Others may use different word
    lengths, such as streams of 12-bit or 20-bit digital samples.

  - Words are usually sent with their most significant bit (MSB) first,
@@ -121,7 +121,7 @@ active. So the master must set the clock to inactive before selecting
a slave, and the slave can tell the chosen polarity by sampling the
clock level when its select line goes active.  That's why many devices
support for example both modes 0 and 3:  they don't care about polarity,
and alway clock data in/out on rising clock edges.
and always clock data in/out on rising clock edges.


How do these driver programming interfaces work?
@@ -548,7 +548,7 @@ SPI MASTER METHODS
    DEPRECATED METHODS

    master->transfer(struct spi_device *spi, struct spi_message *message)
	This must not sleep. Its responsibility is arrange that the
	This must not sleep. Its responsibility is to arrange that the
	transfer happens and its complete() callback is issued. The two
	will normally happen later, after other transfers complete, and
	if the controller is idle it will need to be kickstarted. This
+0 −13
Original line number Diff line number Diff line
/* linux/arch/arm/plat-samsung/include/plat/fiq.h
 *
 * Copyright (c) 2009 Simtec Electronics
 *	Ben Dooks <ben@simtec.co.uk>
 *
 * Header file for S3C24XX CPU FIQ support
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

extern int s3c24xx_set_fiq(unsigned int irq, bool on);
+11 −3
Original line number Diff line number Diff line
@@ -118,6 +118,13 @@ config SPI_BCM63XX
	help
          Enable support for the SPI controller on the Broadcom BCM63xx SoCs.

config SPI_BCM63XX_HSSPI
	tristate "Broadcom BCM63XX HS SPI controller driver"
	depends on BCM63XX || COMPILE_TEST
	help
	  This enables support for the High Speed SPI controller present on
	  newer Broadcom BCM63XX SoCs.

config SPI_BITBANG
	tristate "Utilities for Bitbanging SPI masters"
	help
@@ -159,7 +166,6 @@ config SPI_DAVINCI
	tristate "Texas Instruments DaVinci/DA8x/OMAP-L/AM1x SoC SPI controller"
	depends on ARCH_DAVINCI || ARCH_KEYSTONE
	select SPI_BITBANG
	select TI_EDMA
	help
	  SPI master controller for DaVinci/DA8x/OMAP-L/AM1x SPI modules.

@@ -301,6 +307,7 @@ config SPI_OMAP_UWIRE

config SPI_OMAP24XX
	tristate "McSPI driver for OMAP"
	depends on ARM || ARM64 || AVR32 || HEXAGON || MIPS || SH
	depends on ARCH_OMAP2PLUS || COMPILE_TEST
	help
	  SPI master controller for OMAP24XX and later Multichannel SPI
@@ -370,7 +377,7 @@ config SPI_PXA2XX_PCI

config SPI_RSPI
	tristate "Renesas RSPI controller"
	depends on (SUPERH || ARCH_SHMOBILE) && SH_DMAE_BASE
	depends on (SUPERH && SH_DMAE_BASE) || ARCH_SHMOBILE
	help
	  SPI driver for Renesas RSPI blocks.

@@ -407,7 +414,8 @@ config SPI_SC18IS602

config SPI_SH_MSIOF
	tristate "SuperH MSIOF SPI controller"
	depends on (SUPERH || ARCH_SHMOBILE) && HAVE_CLK
	depends on HAVE_CLK
	depends on SUPERH || ARCH_SHMOBILE || COMPILE_TEST
	select SPI_BITBANG
	help
	  SPI driver for SuperH and SH Mobile MSIOF blocks.
Loading