Skip to content
Snippets Groups Projects
  1. Oct 30, 2012
  2. Oct 01, 2012
    • Stephen Warren's avatar
      spi: remove completely broken Tegra driver · 536a53a3
      Stephen Warren authored
      
      The current SPI driver has many issues. Examples are:
      
      * Segfaulting on most transfers due to expecting all transfers to have
        both RX and TX buffers.
      * Hanging on TX transfers since the whole driver flow is driven by RX
        DMA completion, but the HW is only told to enable RX for RX transfers.
      * Use of clk_disable_unprepare() from atomic context.
      * Once those and other minor issues are fixed, the driver still doesn't
        actually work.
      * The driver also implements a deprecated API to the SPI core.
      
      For this reason, simply remove the driver completely. This has two
      advantages:
      
      1) This will remove the last use of Tegra's <mach/dma.h>, which will
         allow that file to be removed, which is required for single zImage
         work.
      
      2) The downstream driver is significaly different from the current
         code. I believe a patch to re-add the downstream driver (with
         appropriate cleanup) will be much simpler to review if it's a new
         file rather than randomly interspered with essentially unrelated
         existing code.
      
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      536a53a3
  3. Aug 22, 2012
  4. Aug 17, 2012
  5. Jul 23, 2012
  6. Jul 20, 2012
  7. Apr 27, 2012
  8. Mar 09, 2012
  9. Mar 08, 2012
  10. Jul 04, 2011
  11. Jun 06, 2011
  12. May 27, 2011
  13. Mar 15, 2011
  14. Feb 22, 2011
  15. Jan 18, 2011
  16. Dec 24, 2010
  17. Dec 01, 2010
  18. Nov 10, 2010
  19. Oct 22, 2010
    • Erik Gilling's avatar
      spi: add spi_tegra driver · 0c03a1dd
      Erik Gilling authored
      
      v2 changes:
        from Thierry Reding:
          * add "select TEGRA_SYSTEM_DMA" to Kconfig
        from Grant Likely:
          * add oneline description to header
          * inline references to DRIVER_NAME
          * inline references to BUSY_TIMEOUT
          * open coded bytes_per_word()
          * spi_readl/writel -> spi_tegra_readl/writel
          * move transfer validation to spi_tegra_transfer
          * don't request_mem_region iomem as platform bus does that for us
          * __exit -> __devexit
      
      v3 changes:
        from Russell King:
          * put request_mem_region back int
        from Grant Likely:
          * remove #undef DEBUG
          * add SLINK_ to register bit defines
          * remove unused bytes_per_word
          * make spi_tegra_readl/writel static linine
          * various refactoring for clarity
          * mark err if BSY bit is not cleared after 1000 retries
          * move spinlock to protect setting of RDY bit
          * subsys_initcall -> module_init
      
      v3 changes:
        from Grant Likely:
          * update spi_tegra to use PTR_ERRless dma API
      
      v4 changes:
        from Grant Likely:
          * remove empty spi_tegra_cleanup fucntion
          * allow device ids of -1
      
      Signed-off-by: default avatarErik Gilling <konkers@android.com>
      Acked-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      Cc: Thierry Reding <thierry.reding@avionic-design.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      
      spi: tegra: cleanups from upstream review
      
      Change-Id: Icecf7e64efcb39de072a15234ba1faa4bad40d25
      Signed-off-by: default avatarErik Gilling <konkers@android.com>
      0c03a1dd
  20. Oct 13, 2010
    • Mingkai Hu's avatar
      spi/fsl_spi: add eSPI controller support · 8b60d6c2
      Mingkai Hu authored
      
      Add eSPI controller support based on the library code spi_fsl_lib.c.
      
      The eSPI controller is newer controller 85xx/Pxxx devices supported.
      There're some differences comparing to the SPI controller:
      
      1. Has different register map and different bit definition
         So leave the code operated the register to the driver code, not
         the common code.
      
      2. Support 4 dedicated chip selects
         The software can't controll the chip selects directly, The SPCOM[CS]
         field is used to select which chip selects is used, and the
         SPCOM[TRANLEN] field is set to tell the controller how long the CS
         signal need to be asserted. So the driver doesn't need the chipselect
         related function when transfering data, just set corresponding register
         fields to controll the chipseclect.
      
      3. Different Transmit/Receive FIFO access register behavior
         For SPI controller, the Tx/Rx FIFO access register can hold only
         one character regardless of the character length, but for eSPI
         controller, the register can hold 4 or 2 characters according to
         the character lengths. Access the Tx/Rx FIFO access register of the
         eSPI controller will shift out/in 4/2 characters one time. For SPI
         subsystem, the command and data are put into different transfers, so
         we need to combine all the transfers to one transfer in order to pass
         the transfer to eSPI controller.
      
      4. The max transaction length limitation
         The max transaction length one time is limitted by the SPCOM[TRANSLEN]
         field which is 0xFFFF. When used mkfs.ext2 command to create ext2
         filesystem on the flash, the read length will exceed the max value of
         the SPCOM[TRANSLEN] field.
      
      Signed-off-by: default avatarMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      8b60d6c2
    • Mingkai Hu's avatar
      spi/mpc8xxx: refactor the common code for SPI/eSPI controller · b36ece83
      Mingkai Hu authored
      
      Refactor the common code in file spi_fsl_spi.c to spi_fsl_lib.c used
      by SPI/eSPI controller driver as a library, and leave the QE/CPM SPI
      controller code in the SPI controller driver spi_fsl_spi.c.
      
      Because the register map of the SPI controller and eSPI controller
      is so different, also leave the code operated the register to the
      driver code, not the common code.
      
      Signed-off-by: default avatarMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      b36ece83
    • Mingkai Hu's avatar
      spi/mpc8xxx: rename spi_mpc8xxx.c to spi_fsl_spi.c · 3272029f
      Mingkai Hu authored
      
      This will pave the way to refactor out the common code which can be used
      by the eSPI controller driver, and rename the SPI controller dirver to the
      file spi_fsl_spi.c.
      
      Signed-off-by: default avatarMingkai Hu <Mingkai.hu@freescale.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      3272029f
    • matt mooney's avatar
      spi: change to new flag variable · fadcf49b
      matt mooney authored
      
      Replace EXTRA_CFLAGS with ccflags-y.
      
      Signed-off-by: default avatarmatt mooney <mfm@muteddisk.com>
      Signed-off-by: default avatarGrant Likely <grant.likely@secretlab.ca>
      fadcf49b
  21. Oct 08, 2010
  22. May 25, 2010
  23. Jan 21, 2010
  24. Jan 20, 2010
  25. Dec 17, 2009
  26. Dec 13, 2009
Loading