1. 22 4月, 2016 1 次提交
  2. 24 2月, 2016 1 次提交
  3. 18 2月, 2016 1 次提交
  4. 14 2月, 2016 1 次提交
  5. 08 2月, 2016 1 次提交
  6. 06 2月, 2016 1 次提交
    • L
      spi: Add Analog Devices AXI SPI Engine controller support · b1353d1c
      Lars-Peter Clausen 提交于
      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: NLars-Peter Clausen <lars@metafoo.de>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b1353d1c
  7. 03 2月, 2016 1 次提交
  8. 16 1月, 2016 1 次提交
  9. 13 12月, 2015 1 次提交
  10. 01 12月, 2015 1 次提交
  11. 30 10月, 2015 1 次提交
  12. 23 10月, 2015 1 次提交
    • J
      spi/bcm63xx: move register definitions into the driver · 44d8fb30
      Jonas Gorski 提交于
      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: NJonas Gorski <jogo@openwrt.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      44d8fb30
  13. 07 10月, 2015 1 次提交
  14. 29 8月, 2015 1 次提交
  15. 07 8月, 2015 1 次提交
  16. 07 7月, 2015 1 次提交
  17. 13 6月, 2015 1 次提交
  18. 09 6月, 2015 1 次提交
  19. 06 5月, 2015 1 次提交
  20. 04 5月, 2015 1 次提交
    • Y
      spi: bcm2835: depends GPIOLIB · e0d58cdc
      Yoshinori Sato 提交于
      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: NYoshinori Sato <ysato@users.sourceforge.jp>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      e0d58cdc
  21. 24 4月, 2015 1 次提交
  22. 18 4月, 2015 1 次提交
  23. 15 4月, 2015 1 次提交
    • G
      spi: bcm2835: Add GPIOLIB dependency · 8844d0f1
      Guenter Roeck 提交于
      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: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      8844d0f1
  24. 10 3月, 2015 2 次提交
  25. 29 1月, 2015 2 次提交
  26. 17 1月, 2015 1 次提交
  27. 07 1月, 2015 2 次提交
  28. 23 12月, 2014 2 次提交
  29. 27 11月, 2014 2 次提交
  30. 25 11月, 2014 1 次提交
    • B
      spi: meson: Add support for Amlogic Meson SPIFC · c3e4bc54
      Beniamino Galvani 提交于
      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: NBeniamino Galvani <b.galvani@gmail.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      c3e4bc54
  31. 17 11月, 2014 1 次提交
  32. 26 9月, 2014 1 次提交
  33. 14 9月, 2014 1 次提交
  34. 31 8月, 2014 1 次提交
    • G
      spi/drivers: Restrict COMPILE_TEST by HAS_DMA where needed · f59838a0
      Geert Uytterhoeven 提交于
      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: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      f59838a0
  35. 20 8月, 2014 1 次提交
    • R
      spi: bcm53xx: driver for SPI controller on Broadcom bcma SoC · 0fc6a323
      Rafał Miłecki 提交于
      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: NRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: NMark Brown <broonie@linaro.org>
      0fc6a323