spi: microblaze: Adds driver for Xilinx SPI controller
authorStephan Linz <linz@li-pro.net>
Sat, 28 Jul 2012 22:25:35 +0000 (00:25 +0200)
committerMichal Simek <monstr@monstr.eu>
Tue, 31 Jul 2012 05:14:04 +0000 (07:14 +0200)
commit09aac75e4df6a5c62c3481eda7f90204846893c5
tree599f10769f2d9ad4be47c00e4f41fbf27ae6a3e7
parent575a3d21f6d7cbb653e48a957d0b2db944f2b9b3
spi: microblaze: Adds driver for Xilinx SPI controller

This is an improved version of the driver patch original
submitted by Graeme Smecher <graeme.smecher@mail.mcgill.ca>

The changes are:
    - remove hard coded Xilinx BSP defines (XPAR_SPI_*) and
      use CONFIG_SYS_SPI_BASE from config.h instead
    - add extensive register struct definitions
    - remove offset calculation for register access and
      use the new register struct instead
    - move default SPI controller configuration from
      spi_setup_slave() to spi_claim_bus()
    - add spi_set_speed()
    - insert SPI controller deactivation in spi_release_bus()
    - protect while loops in spi_xfer() with counter / timeouts
    - support SPI mode flags: LSB_FIRST, CPHA, CPOL, LOOP

Come from:
    http://patchwork.ozlabs.org/patch/71797/

Signed-off-by: Stephan Linz <linz@li-pro.net>
Tested-by: Michal Simek <monstr@monstr.eu>
drivers/spi/Makefile
drivers/spi/xilinx_spi.c [new file with mode: 0644]
drivers/spi/xilinx_spi.h [new file with mode: 0644]