13 Sep, 2013

1 commit


01 Sep, 2013

6 commits


22 Aug, 2013

2 commits

  • The patch add basic support for the quad spi controller.

    QSPI is a kind of spi module that allows single,
    dual and quad read access to external spi devices. The module
    has a memory mapped interface which provide direct interface
    for accessing data form external spi devices.

    The patch will configure controller clocks, device control
    register and for defining low level transfer apis which
    will be used by the spi framework to transfer data to
    the slave spi device(flash in this case).

    Test details:
    -------------
    Tested this on dra7 board.
    Test1: Ran mtd_stesstest for 40000 iterations.
    - All iterations went through without failure.
    Test2: Use mtd utilities:
    - flash_erase to erase the flash device
    - mtd_debug read to read data back.
    - mtd_debug write to write to the data flash.
    diff between the write and read data shows zero.

    Acked-by: Felipe Balbi
    Reviewed-by: Felipe Balbi
    Signed-off-by: Sourav Poddar
    Signed-off-by: Mark Brown

    Sourav Poddar
     
  • The serial peripheral interface (SPI) module implemented on Freescale Vybrid
    platform provides a synchronous serial bus for communication between Vybrid
    and the external peripheral device.
    The SPI supports full-duplex, three-wire synchronous transfer, has TX/RX FIFO
    with depth of four entries.

    This driver is the SPI master mode driver and has been tested on Vybrid
    VF610TWR board.

    Signed-off-by: Alison Wang
    Signed-off-by: Chao Fu
    Signed-off-by: Mark Brown

    Chao Fu
     

10 Aug, 2013

1 commit


06 Aug, 2013

2 commits


29 Jul, 2013

1 commit


25 Jul, 2013

1 commit


15 Jul, 2013

2 commits

  • The filter function used by the rspi driver is part of the DMAE controller
    driver so if the DMA controller driver is somehow disabled then the rspi
    driver will fail to build.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • New spi controller(version 3) is integrated into Blackfin
    60x processor. Comparing to bf5xx spi controller, we support
    32 bits word size and independent receive and transmit DMA
    channels now. Also mode 0 and 2 (CPHA = 0) can get fully
    supported becasue cs line may be controlled by the software.

    Signed-off-by: Scott Jiang
    Signed-off-by: Mark Brown

    Scott Jiang
     

14 Jul, 2013

1 commit

  • Pull MIPS updates from Ralf Baechle:
    "MIPS updates:

    - All the things that didn't make 3.10.
    - Removes the Windriver PPMC platform. Nobody will miss it.
    - Remove a workaround from kernel/irq/irqdomain.c which was there
    exclusivly for MIPS. Patch by Grant Likely.
    - More small improvments for the SEAD 3 platform
    - Improvments on the BMIPS / SMP support for the BCM63xx series.
    - Various cleanups of dead leftovers.
    - Platform support for the Cavium Octeon-based EdgeRouter Lite.

    Two large KVM patchsets didn't make it for this pull request because
    their respective authors are vacationing"

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (124 commits)
    MIPS: Kconfig: Add missing MODULES dependency to VPE_LOADER
    MIPS: BCM63xx: CLK: Add dummy clk_{set,round}_rate() functions
    MIPS: SEAD3: Disable L2 cache on SEAD-3.
    MIPS: BCM63xx: Enable second core SMP on BCM6328 if available
    MIPS: BCM63xx: Add SMP support to prom.c
    MIPS: define write{b,w,l,q}_relaxed
    MIPS: Expose missing pci_io{map,unmap} declarations
    MIPS: Malta: Update GCMP detection.
    Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"
    MIPS: APSP: Remove
    SSB: Kconfig: Amend SSB_EMBEDDED dependencies
    MIPS: microMIPS: Fix improper definition of ISA exception bit.
    MIPS: Don't try to decode microMIPS branch instructions where they cannot exist.
    MIPS: Declare emulate_load_store_microMIPS as a static function.
    MIPS: Fix typos and cleanup comment
    MIPS: Cleanup indentation and whitespace
    MIPS: BMIPS: support booting from physical CPU other than 0
    MIPS: Only set cpu_has_mmips if SYS_SUPPORTS_MICROMIPS
    MIPS: GIC: Fix gic_set_affinity infinite loop
    MIPS: Don't save/restore OCTEON wide multiplier state on syscalls.
    ...

    Linus Torvalds
     

20 Jun, 2013

1 commit

  • I got a build error today that made me realize that it is not
    possible to build a kernel for a SiRF platform without enabling
    CONFIG_PRIMA2, since a lot of common code depends on CONFIG_PRIMA2.

    This fixes all occurences that appear like common SiRF code.

    Signed-off-by: Arnd Bergmann
    Acked-by: Wolfram Sang
    Acked-by: Mark Brown
    Acked-by: Greg Kroah-Hartman
    Acked-by: Barry Song
    Acked-by: Mike Turquette

    Arnd Bergmann
     

11 Jun, 2013

1 commit

  • CAVIUM_OCTEON_SOC most place we used to use CPU_CAVIUM_OCTEON. This
    allows us to CPU_CAVIUM_OCTEON in places where we have no OCTEON SOC.

    Remove CAVIUM_OCTEON_SIMULATOR as it doesn't really do anything, we can
    get the same configuration with CAVIUM_OCTEON_SOC.

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: linux-ide@vger.kernel.org
    Cc: linux-edac@vger.kernel.org
    Cc: linux-i2c@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: spi-devel-general@lists.sourceforge.net
    Cc: devel@driverdev.osuosl.org
    Cc: linux-usb@vger.kernel.org
    Acked-by: Greg Kroah-Hartman
    Acked-by: Wolfram Sang
    Acked-by: Mauro Carvalho Chehab
    Patchwork: https://patchwork.linux-mips.org/patch/5295/
    Signed-off-by: Ralf Baechle

    David Daney
     

10 May, 2013

1 commit

  • Pull removal of GENERIC_GPIO from Grant Likely:
    "GENERIC_GPIO now synonymous with GPIOLIB. There are no longer any
    valid cases for enableing GENERIC_GPIO without GPIOLIB, even though it
    is possible to do so which has been causing confusion and breakage.
    This branch does the work to completely eliminate GENERIC_GPIO."

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux:
    gpio: update gpio Chinese documentation
    Remove GENERIC_GPIO config option
    Convert selectors of GENERIC_GPIO to GPIOLIB
    blackfin: force use of gpiolib
    m68k: coldfire: use gpiolib
    mips: pnx833x: remove requirement for GENERIC_GPIO
    openrisc: default GENERIC_GPIO to false
    avr32: default GENERIC_GPIO to false
    xtensa: remove explicit selection of GENERIC_GPIO
    sh: replace CONFIG_GENERIC_GPIO by CONFIG_GPIOLIB
    powerpc: remove redundant GENERIC_GPIO selection
    unicore32: default GENERIC_GPIO to false
    unicore32: remove unneeded select GENERIC_GPIO
    arm: plat-orion: use GPIO driver on CONFIG_GPIOLIB
    arm: remove redundant GENERIC_GPIO selection
    mips: alchemy: require gpiolib
    mips: txx9: change GENERIC_GPIO to GPIOLIB
    mips: loongson: use GPIO driver on CONFIG_GPIOLIB
    mips: remove redundant GENERIC_GPIO select

    Linus Torvalds
     

30 Apr, 2013

1 commit

  • Pull spi updates from Mark Brown:
    "A fairly quiet release for SPI, mainly driver work. A few highlights:

    - Supports bits per word compatibility checking in the core.
    - Allow use of the IP used in Freescale SPI controllers outside
    Freescale SoCs.
    - DMA support for the Atmel SPI driver.
    - New drivers for the BCM2835 and Tegra114"

    * tag 'spi-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (68 commits)
    spi-topcliff-pch: fix to use list_for_each_entry_safe() when delete list items
    spi-topcliff-pch: missing platform_driver_unregister() on error in pch_spi_init()
    ARM: dts: add pinctrl property for spi node for atmel SoC
    ARM: dts: add spi nodes for the atmel boards
    ARM: dts: add spi nodes for atmel SoC
    ARM: at91: add clocks for spi dt entries
    spi/spi-atmel: add dmaengine support
    spi/spi-atmel: add flag to controller data for lock operations
    spi/spi-atmel: add physical base address
    spi/sirf: fix MODULE_DEVICE_TABLE
    MAINTAINERS: Add git repository and update my address
    spi/s3c64xx: Check for errors in dmaengine prepare_transfer()
    spi/s3c64xx: Fix non-dmaengine usage
    spi: omap2-mcspi: fix error return code in omap2_mcspi_probe()
    spi/s3c64xx: let device core setup the default pin configuration
    MAINTAINERS: Update Grant's email address and maintainership
    spi: omap2-mcspi: Fix transfers if DMADEVICES is not set
    spi: s3c64xx: move to generic dmaengine API
    spi-gpio: init CS before spi_bitbang_setup()
    spi: spi-mpc512x-psc: let transmiter/receiver enabled when in xfer loop
    ...

    Linus Torvalds
     

16 Apr, 2013

1 commit


07 Apr, 2013

3 commits

  • Add SPI driver for NVIDIA's Tegra114 SPI controller. This controller
    is different than the older SoCs SPI controller in internal design as
    well as register interface.

    This driver supports the:
    - non DMA based transfer for smaller transfer i.e. less than FIFO depth.
    - APB DMA based transfer for larger transfer i.e. more than FIFO depth.
    - Clock gating through runtime PM callbacks.
    - registration through DT only.

    Signed-off-by: Laxman Dewangan
    Reviewed-by: Stephen Warren
    Signed-off-by: Grant Likely

    Laxman Dewangan
     
  • This adds support for the mostly register-compatible SPICTRL cores from the
    GRLIB VHDL IP core library from Aeroflex Gaisler. They are normally running on
    SPARC. A different entry in of_fsl_spi_match matches this core and indicates a
    different hardware type that is used to set up different function pointers and
    special cases.

    The GRLIB core operates in cpu mode. The number of bits per word might be
    limited. There might be native chipselects selected via a slave select
    register. These differences to the FSL type cores, if present, are indicated by
    a capabilities register. Other register and function differences exists but are
    not relevant to the driver.

    Acked-by: Anton Vorontsov
    Signed-off-by: Andreas Larsson
    Signed-off-by: Grant Likely

    Andreas Larsson
     
  • This makes the spi-fsl-spi driver usable in CPU mode outside of an FSL_SOC and
    even an powerpc environment by moving CPM mode functionality to a separate file
    that is only compiled and linked in an FSL_SOC environment and adding some
    ifdefs to hide types and functions or provide alternatives.

    For devicetree probing a "clock-frequency" property is used for clock frequency
    instead of calls to FSL_SOC-specific functions.

    Acked-by: Anton Vorontsov
    Signed-off-by: Andreas Larsson
    Signed-off-by: Grant Likely

    Andreas Larsson
     

21 Mar, 2013

1 commit

  • With this patch an allmodconfig finally builds on s390 again.

    Fixes these build errors:

    ERROR: "devm_request_threaded_irq" [drivers/spi/spi-altera.ko] undefined!
    ERROR: "devm_request_threaded_irq" [drivers/media/platform/sh_veu.ko] undefined!
    ERROR: "devm_request_threaded_irq" [drivers/dma/dw_dmac.ko] undefined!

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

13 Mar, 2013

1 commit

  • The BCM2835 contains two forms of SPI master controller (one known
    simply as SPI0, and the other known as the "Universal SPI Master", in
    the auxilliary block) and one form of SPI slave controller. This patch
    adds support for the SPI0 controller.

    This driver is taken from Chris Boot's repository at
    git://github.com/bootc/linux.git rpi-linear
    as of commit 6de2905 "spi-bcm2708: fix printf with spurious %s".
    In the first SPI-related commit there, Chris wrote:

    Thanks to csoutreach / A Robinson for his driver which I used as an
    inspiration. You can find his version here:
    http://piface.openlx.org.uk/raspberry-pi-spi-kernel-driver-available-for

    Changes made during upstreaming:
    * Renamed bcm2708 to bcm2835 as per upstream naming for this SoC.
    * Removed support for brcm,realtime property.
    * Increased transfer timeout to 30 seconds.
    * Return IRQ_NONE from the IRQ handler if no interrupt was handled.
    * Disable TA (Transfer Active) and clear FIFOs on a transfer timeout.
    * Wrote device tree binding documentation.
    * Request unnamed clock rather than "sys_pclk"; the DT will provide the
    correct clock.
    * Assume that tfr->speed_hz and tfr->bits_per_word are always set in
    bcm2835_spi_start_transfer(), bcm2835_spi_transfer_one(), so no need
    to check spi->speed_hz or tft->bits_per_word.
    * Re-ordered probe() to remove the need for temporary variables.
    * Call clk_disable_unprepare() rather than just clk_unprepare() on probe()
    failure.
    * Don't use devm_request_irq(), to ensure that the IRQ doesn't fire after
    we've torn down the device, but not unhooked the IRQ.
    * Moved probe()'s call to clk_prepare_enable() so we can be sure the clock
    is enabled if the IRQ handler fires immediately.
    * Remove redundant checks from bcm2835_spi_check_transfer() and
    bcm2835_spi_setup().
    * Re-ordered IRQ handler to check for RXR before DONE. Added comments to
    ISR.
    * Removed empty prepare/unprepare implementations.
    * Removed use of devinit/devexit.
    * Added BCM2835_ prefix to defines.

    Signed-off-by: Chris Boot
    Signed-off-by: Stephen Warren
    Signed-off-by: Mark Brown

    Chris Boot
     

22 Feb, 2013

1 commit

  • Pull driver core patches from Greg Kroah-Hartman:
    "Here is the big driver core merge for 3.9-rc1

    There are two major series here, both of which touch lots of drivers
    all over the kernel, and will cause you some merge conflicts:

    - add a new function called devm_ioremap_resource() to properly be
    able to check return values.

    - remove CONFIG_EXPERIMENTAL

    Other than those patches, there's not much here, some minor fixes and
    updates"

    Fix up trivial conflicts

    * tag 'driver-core-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)
    base: memory: fix soft/hard_offline_page permissions
    drivercore: Fix ordering between deferred_probe and exiting initcalls
    backlight: fix class_find_device() arguments
    TTY: mark tty_get_device call with the proper const values
    driver-core: constify data for class_find_device()
    firmware: Ignore abort check when no user-helper is used
    firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER
    firmware: Make user-mode helper optional
    firmware: Refactoring for splitting user-mode helper code
    Driver core: treat unregistered bus_types as having no devices
    watchdog: Convert to devm_ioremap_resource()
    thermal: Convert to devm_ioremap_resource()
    spi: Convert to devm_ioremap_resource()
    power: Convert to devm_ioremap_resource()
    mtd: Convert to devm_ioremap_resource()
    mmc: Convert to devm_ioremap_resource()
    mfd: Convert to devm_ioremap_resource()
    media: Convert to devm_ioremap_resource()
    iommu: Convert to devm_ioremap_resource()
    drm: Convert to devm_ioremap_resource()
    ...

    Linus Torvalds
     

08 Feb, 2013

3 commits

  • Intel Lynxpoint PCH Low Power Subsystem has two general purpose SPI
    controllers that are LPSS_SSP compatible. These controllers are enumerated
    from ACPI namespace with ACPI IDs INT33C0 and INT33C1.

    Signed-off-by: Mika Westerberg
    Tested-by: Lu Cao
    Signed-off-by: Mark Brown

    Mika Westerberg
     
  • To be able to use DMA with this driver on non-PXA platforms we implement
    support for the generic DMA engine API. This lets user to use different DMA
    engines with little or no modification to the driver.

    Request lines and channel numbers can be passed to the driver from the
    platform specific data.

    The DMA engine implementation will be selected by default even on PXA
    platform. User can select the legacy DMA API by enabling Kconfig option
    CONFIG_SPI_PXA2XX_PXADMA.

    Signed-off-by: Mika Westerberg
    Acked-by: Linus Walleij
    Tested-by: Lu Cao
    Signed-off-by: Mark Brown

    Mika Westerberg
     
  • The PXA SPI driver uses PXA platform specific private DMA implementation
    which does not work on non-PXA platforms. In order to use this driver on
    other platforms we break out the private DMA implementation into a separate
    file that gets compiled only when CONFIG_SPI_PXA2XX_PXADMA is set. The DMA
    functions are stubbed out if there is no DMA implementation selected (i.e
    we are building on non-PXA platform).

    While we are there we can kill the dummy DMA bits in pxa2xx_spi.h as they
    are not needed anymore for CE4100.

    Once this is done we can add the generic DMA engine support to the driver
    that allows usage of any DMA controller that implements DMA engine API.

    Signed-off-by: Mika Westerberg
    Acked-by: Linus Walleij
    Tested-by: Lu Cao
    Signed-off-by: Mark Brown

    Mika Westerberg
     

26 Jan, 2013

1 commit


22 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Grant Likely
    Signed-off-by: Kees Cook
    Signed-off-by: Greg Kroah-Hartman

    Kees Cook
     

06 Dec, 2012

4 commits


14 Nov, 2012

1 commit


31 Oct, 2012

1 commit


10 Oct, 2012

1 commit

  • Pull slave-dmaengine updates from Vinod Koul:
    "This time we have Andy updates on dw_dmac which is attempting to make
    this IP block available as PCI and platform device though not fully
    complete this time.

    We also have TI EDMA moving the dma driver to use dmaengine APIs, also
    have a new driver for mmp-tdma, along with bunch of small updates.

    Now for your excitement the merge is little unusual here, while
    merging the auto merge on linux-next picks wrong choice for pl330
    (drivers/dma/pl330.c) and this causes build failure. The correct
    resolution is in linux-next. (DMA: PL330: Fix build error) I didn't
    back merge your tree this time as you are better than me so no point
    in doing that for me :)"

    Fixed the pl330 conflict as in linux-next, along with trivial header
    file conflicts due to changed includes.

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (29 commits)
    dma: tegra: fix interrupt name issue with apb dma.
    dw_dmac: fix a regression in dwc_prep_dma_memcpy
    dw_dmac: introduce software emulation of LLP transfers
    dw_dmac: autoconfigure data_width or get it via platform data
    dw_dmac: autoconfigure block_size or use platform data
    dw_dmac: get number of channels from hardware if possible
    dw_dmac: fill optional encoded parameters in register structure
    dw_dmac: mark dwc_dump_chan_regs as inline
    DMA: PL330: return ENOMEM instead of 0 from pl330_alloc_chan_resources
    DMA: PL330: Remove redundant runtime_suspend/resume functions
    DMA: PL330: Remove controller clock enable/disable
    dmaengine: use kmem_cache_zalloc instead of kmem_cache_alloc/memset
    DMA: PL330: Set the capability of pdm0 and pdm1 as DMA_PRIVATE
    ARM: EXYNOS: Set the capability of pdm0 and pdm1 as DMA_PRIVATE
    dma: tegra: use list_move_tail instead of list_del/list_add_tail
    mxs/dma: Enlarge the CCW descriptor area to 4 pages
    dw_dmac: utilize slave_id to pass request line
    dmaengine: mmp_tdma: add dt support
    dmaengine: mmp-pdma support
    spi: davici - make davinci select edma
    ...

    Linus Torvalds