An error occurred fetching the project authors.
  1. 24 Feb, 2016 1 commit
  2. 13 Feb, 2016 1 commit
  3. 08 Feb, 2016 1 commit
  4. 05 Feb, 2016 1 commit
    • Lars-Peter Clausen's avatar
      spi: Add Analog Devices AXI SPI Engine controller support · b1353d1c
      Lars-Peter Clausen authored
      This patch adds support for the AXI SPI Engine controller which is a FPGA
      soft-peripheral which is used in some of Analog Devices' reference designs.
      
      The AXI SPI Engine controller is part of the SPI Engine framework[1] and
      allows memory mapped access to the SPI Engine control bus. This allows it
      to be used as a general purpose software driven SPI controller. The SPI
      Engine in addition offers some optional advanced acceleration and
      offloading capabilities, which are not part of this patch though and will
      be introduced separately.
      
      At the core of the SPI Engine framework is a small sort of co-processor
      that accepts a command stream and turns the commands into low-level SPI
      transactions. Communication is done through three memory mapped FIFOs in
      the register map of the AXI SPI Engine peripheral. One FIFO for the command
      stream and one each for transmit and receive data.
      
      The driver translates a spi_message in a command stream and writes it to
      the peripheral which executes it asynchronously. This allows it to perform
      very precise timings which are required for some SPI slave devices to
      achieve maximum performance (e.g. analog-to-digital and digital-to-analog
      converters). The execution flow is synchronized to the host system by a
      special synchronize instruction which generates a interrupt.
      
      [1] https://wiki.analog.com/resources/fpga/peripherals/spi_engineSigned-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      b1353d1c
  5. 03 Feb, 2016 1 commit
  6. 15 Jan, 2016 1 commit
  7. 12 Dec, 2015 1 commit
  8. 30 Nov, 2015 1 commit
  9. 30 Oct, 2015 1 commit
  10. 22 Oct, 2015 1 commit
    • Jonas Gorski's avatar
      spi/bcm63xx: move register definitions into the driver · 44d8fb30
      Jonas Gorski authored
      Move all register definitions and structs into the driver. This allows
      us dropping the platform_data struct and drop any arch specific
      includes. Make use of different device names to identify the version of
      the block we have.
      
      Since we now have full control over the message width, we can drop the
      size check, which was broken anyway, since it never set ret to any error
      code.
      
      Also since we now have no arch depedendent resources, we can now allow
      compiling it for any arch, hidden behind COMPILE_TEST.
      Signed-off-by: default avatarJonas Gorski <jogo@openwrt.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      44d8fb30
  11. 07 Oct, 2015 1 commit
  12. 28 Aug, 2015 1 commit
  13. 07 Aug, 2015 1 commit
  14. 07 Jul, 2015 1 commit
  15. 12 Jun, 2015 1 commit
  16. 09 Jun, 2015 1 commit
  17. 06 May, 2015 1 commit
  18. 04 May, 2015 1 commit
    • Yoshinori Sato's avatar
      spi: bcm2835: depends GPIOLIB · e0d58cdc
      Yoshinori Sato authored
      I got following error on CONFIG_GPIOLIB=n.
      
      drivers/spi/spi-bcm2835.c: In function 'chip_match_name':
      drivers/spi/spi-bcm2835.c:356:21: error: dereferencing pointer to incomplete type 'struct gpio_chip'
        return !strcmp(chip->label, data);
                           ^
      drivers/spi/spi-bcm2835.c: In function 'bcm2835_spi_setup':
      drivers/spi/spi-bcm2835.c:382:9: error: implicit declaration of function 'gpiochip_find' [-Werror=implicit-function-declaration]
        chip = gpiochip_find("pinctrl-bcm2835", chip_match_name);
               ^
      drivers/spi/spi-bcm2835.c:382:7: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
        chip = gpiochip_find("pinctrl-bcm2835", chip_match_name);
             ^
      drivers/spi/spi-bcm2835.c: In function 'chip_match_name':
      drivers/spi/spi-bcm2835.c:357:1: warning: control reaches end of non-void function [-Wreturn-type]
       }
       ^
      Signed-off-by: default avatarYoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      e0d58cdc
  19. 24 Apr, 2015 1 commit
  20. 18 Apr, 2015 1 commit
  21. 14 Apr, 2015 1 commit
    • Guenter Roeck's avatar
      spi: bcm2835: Add GPIOLIB dependency · 8844d0f1
      Guenter Roeck authored
      Fix:
      
      drivers/spi/spi-bcm2835.c: In function 'chip_match_name':
      drivers/spi/spi-bcm2835.c:356:21: error:
      			dereferencing pointer to incomplete type
      drivers/spi/spi-bcm2835.c: In function 'bcm2835_spi_setup':
      drivers/spi/spi-bcm2835.c:382:2: error:
      	`		implicit declaration of function 'gpiochip_find'
      drivers/spi/spi-bcm2835.c:387:21: error:
      			dereferencing pointer to incomplete type
      
      by adding the now mandatory GPIOLIB dependency.
      
      Fixes: a30a555d ("spi: bcm2835: transform native-cs to gpio-cs
      	on first spi_setup")
      Cc: Martin Sperl <kernel@martin.sperl.org>
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      8844d0f1
  22. 09 Mar, 2015 2 commits
  23. 28 Jan, 2015 2 commits
  24. 16 Jan, 2015 1 commit
  25. 07 Jan, 2015 1 commit
  26. 06 Jan, 2015 1 commit
  27. 22 Dec, 2014 2 commits
  28. 27 Nov, 2014 1 commit
  29. 26 Nov, 2014 1 commit
  30. 24 Nov, 2014 1 commit
    • Beniamino Galvani's avatar
      spi: meson: Add support for Amlogic Meson SPIFC · c3e4bc54
      Beniamino Galvani authored
      This is a driver for the Amlogic Meson SPIFC (SPI flash controller),
      which is one of the two SPI controllers available on the SoC. It
      doesn't support DMA and has a 64-byte unified transmit/receive buffer.
      
      The device is optimized for interfacing with SPI NOR memories and
      allows the execution of standard operations such as read, page
      program, sector erase, etc. in a simplified way, toggling a bit in a
      dedicated register. The driver doesn't use those predefined commands
      and relies only on custom transfers.
      Signed-off-by: default avatarBeniamino Galvani <b.galvani@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      c3e4bc54
  31. 17 Nov, 2014 1 commit
  32. 26 Sep, 2014 1 commit
  33. 13 Sep, 2014 1 commit
  34. 31 Aug, 2014 1 commit
    • Geert Uytterhoeven's avatar
      spi/drivers: Restrict COMPILE_TEST by HAS_DMA where needed · f59838a0
      Geert Uytterhoeven authored
      commit dd1053a9 ("spi/drivers: Enable build of drivers with
      COMPILE_TEST") allows compile-testing drivers on platforms they're not
      meant for.
      
      However, adding "|| COMPILE_TEST" bypasses all other implicit dependencies
      assumed by the platform dependencies before, like HAS_DMA.
      
      If NO_DMA=y:
      
      drivers/built-in.o: In function `atmel_spi_dma_unmap_xfer':
      drivers/spi/spi-atmel.c:915: undefined reference to `dma_unmap_single'
      drivers/spi/spi-atmel.c:918: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `atmel_spi_next_xfer_data':
      drivers/spi/spi-atmel.c:690: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `atmel_spi_dma_map_xfer':
      drivers/spi/spi-atmel.c:890: undefined reference to `dma_map_single'
      drivers/spi/spi-atmel.c:893: undefined reference to `dma_mapping_error'
      drivers/spi/spi-atmel.c:897: undefined reference to `dma_map_single'
      drivers/spi/spi-atmel.c:900: undefined reference to `dma_mapping_error'
      drivers/spi/spi-atmel.c:902: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `atmel_spi_probe':
      drivers/spi/spi-atmel.c:1540: undefined reference to `dma_alloc_coherent'
      drivers/spi/spi-atmel.c:1623: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `atmel_spi_remove':
      drivers/spi/spi-atmel.c:1665: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `ep93xx_spi_dma_finish':
      drivers/spi/spi-ep93xx.c:550: undefined reference to `dma_unmap_sg'
      drivers/built-in.o: In function `ep93xx_spi_dma_prepare':
      drivers/spi/spi-ep93xx.c:516: undefined reference to `dma_map_sg'
      drivers/spi/spi-ep93xx.c:522: undefined reference to `dma_unmap_sg'
      drivers/built-in.o: In function `omap2_mcspi_rx_dma':
      drivers/spi/spi-omap2-mcspi.c:475: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `omap2_mcspi_txrx_dma':
      drivers/spi/spi-omap2-mcspi.c:589: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `omap2_mcspi_transfer_one_message':
      drivers/spi/spi-omap2-mcspi.c:1202: undefined reference to `dma_map_single'
      drivers/spi/spi-omap2-mcspi.c:1204: undefined reference to `dma_mapping_error'
      drivers/spi/spi-omap2-mcspi.c:1211: undefined reference to `dma_map_single'
      drivers/spi/spi-omap2-mcspi.c:1213: undefined reference to `dma_mapping_error'
      drivers/spi/spi-omap2-mcspi.c:1217: undefined reference to `dma_unmap_single'
      drivers/built-in.o: In function `tegra_spi_deinit_dma_param':
      drivers/spi/spi-tegra114.c:675: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `tegra_spi_copy_spi_rxbuf_to_client_rxbuf':
      drivers/spi/spi-tegra114.c:415: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra114.c:440: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_spi_copy_client_txbuf_to_spi_txbuf':
      drivers/spi/spi-tegra114.c:381: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra114.c:405: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_spi_start_dma_based_transfer':
      drivers/spi/spi-tegra114.c:543: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_deinit_dma_param':
      drivers/spi/spi-tegra20-slink.c:705: undefined reference to `dma_free_coherent'
      drivers/built-in.o: In function `tegra_slink_copy_spi_rxbuf_to_client_rxbuf':
      drivers/spi/spi-tegra20-slink.c:427: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra20-slink.c:452: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_copy_client_txbuf_to_spi_txbuf':
      drivers/spi/spi-tegra20-slink.c:393: undefined reference to `dma_sync_single_for_cpu'
      drivers/spi/spi-tegra20-slink.c:417: undefined reference to `dma_sync_single_for_cpu'
      drivers/built-in.o: In function `tegra_slink_start_dma_based_transfer':
      drivers/spi/spi-tegra20-slink.c:561: undefined reference to `dma_sync_single_for_cpu'
      
      Add dependencies on HAS_DMA to fix this.
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      f59838a0
  35. 19 Aug, 2014 1 commit
    • Rafał Miłecki's avatar
      spi: bcm53xx: driver for SPI controller on Broadcom bcma SoC · 0fc6a323
      Rafał Miłecki authored
      Broadcom 53xx ARM SoCs use bcma bus that contains various cores (AKA
      devices). If board has a serial flash, it's connected over SPI and the
      bcma bus includes a SPI controller. Example log from such a board:
      bus0: Found chip with id 53010, rev 0x00 and package 0x02
      (...)
      bus0: Core 18 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0)
      
      This patch adds a bcma driver for SPI core, it registers SPI master
      controller and "bcm53xxspiflash" SPI device.
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarMark Brown <broonie@linaro.org>
      0fc6a323
  36. 16 Aug, 2014 1 commit
  37. 10 Jul, 2014 1 commit