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 loosely 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. CHANGELOG: changed from v1: minor sylistic changes (1/4) converted spi api to modified txrx style (1-3/4) heavily refactored m25p80 model (2/4) Peter A. G. Crosthwaite (4): SPI: initial support m25p80: initial verion xilinx_spi: initial version petalogix-ml605: added spi controller with m25p80 Makefile.objs | 2 +- Makefile.target | 2 + hw/m25p80.c | 397 ++++++++++++++++++++++++++++++++++++++ hw/petalogix_ml605_mmu.c | 19 ++ hw/spi.c | 148 ++++++++++++++ hw/spi.h | 69 +++++++ hw/xilinx_spi.c | 482 ++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 1118 insertions(+), 1 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