| From: |
| Paolo Pisati <p.pisati-AT-gmail.com> |
| To: |
| Alan Tull <atull-AT-kernel.org>, Moritz Fischer <mdf-AT-kernel.org>, Rob Herring <robh+dt-AT-kernel.org>, Mark Rutland <mark.rutland-AT-arm.com> |
| Subject: |
| [PATCH 0/2 v6] Lattice MachXO2 Slave SPI FPGA Manager support |
| Date: |
| Fri, 16 Mar 2018 16:54:27 +0100 |
| Message-ID: |
| <1521215669-23874-1-git-send-email-p.pisati@gmail.com> |
| Cc: |
| linux-fpga-AT-vger.kernel.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org |
Hi all,
this series adds support for the Lattice MachXO2 FPGA chip, programmed
over Slave SPI.
Tested on a raspberry pi3, beaglebone black (little endian mode) and imx6
hummingboard (big endian mode) + bugblat's pif2 fpga hat (machxo2 7000HC) or
tinyfpga A1/A2 (machxo2 256HC / 1200HC), in SPI slave mode with varying bus
speed.
Changes since v5:
* fixed all the endianess issues
* introduced a cleanup() path invoked in case of flash failure
* moved back machxo2_write() to use a spi_sync() transaction per line write
(in v5 i queued all the spi_write()s and executed a single spi_sync() at the
end, but that, sometimes, resulted in the REFRESH command to fail with a
CMD_ERR, depending on the SPI bus speed)
Paolo Pisati (2):
dt: bindings: fpga: add lattice machxo2 slave spi binding description
fpga: lattice machxo2: Add Lattice MachXO2 support
.../bindings/fpga/lattice-machxo2-spi.txt | 29 ++
drivers/fpga/Kconfig | 8 +
drivers/fpga/Makefile | 1 +
drivers/fpga/machxo2-spi.c | 410 +++++++++++++++++++++
4 files changed, 448 insertions(+)
create mode 100644 Documentation/devicetree/bindings/fpga/lattice-machxo2-spi.txt
create mode 100644 drivers/fpga/machxo2-spi.c
--
2.7.4