Add support for Serial Peripheral interface (SPI) as a proper bus standard. Includes an example device (m25p80 SPI flash), an example controller (Xilinx XPS SPI) and adds it to all to a machine model (petalogix_ml605_mmu.c).
Patch 1 adds the Serial Peripheral Interface (SPI) protocol as a bus and defines a QOM type for slave devices. The approach to doing this is based looseley on the existing I2C QOMification. Patch 2 is a device model for the m25p80 style SPI flash chip. Patch 3 is the Xilinx XPS SPI contoller. Its a sysbus device that instantiates a spi bus, and interfaces the two (as per the controllers functionality) Patch 4 instantiates the XPS SPI controller in the petalogix ML605 reference platform and connects one m25p80 to it. Peter A. G. Crosthwaite (4): SPI: initial support m25p80: initial verion xilinx_spi: initial version petalogix-ml605: added spi controller with m25p80 Makefile.target | 3 + hw/m25p80.c | 495 ++++++++++++++++++++++++++++++++++++++++++++++ hw/petalogix_ml605_mmu.c | 19 ++ hw/spi.c | 175 ++++++++++++++++ hw/spi.h | 86 ++++++++ hw/xilinx_spi.c | 477 ++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 1255 insertions(+), 0 deletions(-) create mode 100644 hw/m25p80.c create mode 100644 hw/spi.c create mode 100644 hw/spi.h create mode 100644 hw/xilinx_spi.c -- 1.7.3.2